Установка и наcтройка
$ docker run debian echo 'Hello World'
Подключиться к интерактивной оболочке контейнера и выполнить какую-нибудь команду:
$ docker run -i -t debian bash
Запуск контейнера, дав имя хосту:
$ docker run -h HOST -i -t debian bash
По умолчанию команда docker ps показывает только запущенные контейнеры. С аргументом -а (docker ps -a) показывает все контейнеры, включая остановленные:
$ docker ps
Docker diff — команда, которая отслеживает изменения в файловой системе контейнера Docker. Она показывает, какие файлы были добавлены, изменены или удалены внутри работающего или остановленного контейнера.
$ docker diff practical_nightingale
Всё что было записано в stdout и stderr контейнера во время его работы:
$ docker logs practical_nightingale
Удаление контейнера:
$ docker rm practical_nightingale
Статьи:
Почти все, что вы хотели бы знать про Docker
Dockerfile
Сборка образа
$ docker build -t test_app .
Теперь мы можем запустить наше приложение:
$ docker run test_app python /app/app.py
Запуск приложения с аргументом -p, который принимает два числа разделенных двоеточием. Первое число - какой порт хоста использовать для связи с портом внутри контейнера, второе число - на какой порт внутри контейнера перенаправлять запросы с порта хоста
$ docker run -p5050:5000 test_app python /app/app.py
Проверяем, что все работает:
Добавляем в Dockerfile команды, которые выполнятся в момент запуска контейнера, что избавит нас от необходимости в команде запуска стартовать приложение собственноручно(WORKDIR и ENTRYPOINT):
Правило: помещать на верх Dockerfile такие команды, которые будут выполнятся редко, а вниз которые будут запускаться чаще.Снова собираем:
$ docker build -t test_app .
Снова запускаем контейнер(-e - передать переменные в окружение контейнера)
$ docker run -p5050:5000 -e "SERVICE_NAME=service1" test_app
(было $ docker run -p5050:5000 test_app python /app/app.py)
Сайт для регистрации:
$ docker login
Список образов:
$ docker images
Для последнего успешного билда укажем репозиторий:
$ docker tag my_app muertecivil/test_app
Загрузка образа в репозиторий:
$ docker push muertecivil/test_app
Загрузка образа из репозитория:
$ docker pull muertecivil/test_app
Ссылки:
Комментариев нет:
Отправить комментарий