Обновление образа докера новым кодом - PullRequest
0 голосов
/ 12 мая 2018

У меня проблемы с пониманием этой части докера. Я провел много дней, исследуя это, и наткнулся на такие вещи, как docker-compose и docker container commit. Если у меня есть изображение, и я делаю изменения в своей кодовой базе, как бы я обновил свой образ докера с изменениями кода? Я думал, что Dockerfile должен был позаботиться об этом, но он не работает для меня. Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Вы можете попробовать docker-compose up --force-recreate;или если вы вносите изменения в Dockerfile, вам, возможно, придется пересобрать его.Вы можете сделать это, используя docker-compose build (вы можете добавить --no-cache в конце, чтобы принудительно загрузить зависимости и т. Д.).

Обратите внимание, что в некоторых случаях вам может потребоваться удалить созданные изображения / сборки / контейнеры, используя docker system prune (вы можете добавить -a в конце, чтобы также удалить все остановленные контейнеры и все неиспользуемые изображения -не просто висящие образы).Затем выполните сборку, используя docker-compose build.

Вы также можете использовать docker stop $(docker ps -a -q), а затем docker rm $(docker ps -a -q), чтобы остановить и удалить все контейнеры докеров.

Надеюсь, это укажет вам правильное направление, удачи!

0 голосов
/ 12 мая 2018

Dockerfile заботится о создании образа докера, который можно использовать для запуска контейнеров. Если вы хотите обновить конфигурацию образа или кодовую базу вашего приложения, то, что внутри образа, вам необходимо перестроить образ.

Например, у вас может быть Dockerfile, который извлекает кодовую базу во время процесса сборки, в этом случае вам нужно перестраивать образ всякий раз, когда есть новый код, который необходимо включить. или, скажем, вам нужно обновить рабочую версию приложения, а затем перестроить образ, содержащий новую версию стабильной ветви вашего приложения.

Кроме того, если вы используете его для разработки, вам может понадобиться смонтировать каталог приложения в виде тома, который позволит вам сразу увидеть изменения без необходимости перестраивать образ докера, если в этом нет необходимости.

Для docker-compose вы можете считать, что это похоже на команду docker run, которая обеспечивает более простой способ запуска контейнера из определенного образа, включая отображение портов или монтирование томов или связывание нескольких контейнеров и т. Д.

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...