Как просто создать / обновить один образ Docker вместо всех служб после того, как docker-compose? - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть файл docker-compose.yml с несколькими объявленными службами.

Когда я набираю docker-compose up, все они запускаются.

Теперь я хочу исправить только одну из них.Обычно я docker-compose down, который останавливает всех из них.Вместо этого я надеюсь просто отключить один сервис, который мне нужно исправить, исправить (build / compile / etc), а затем запустить этот единственный образ Docker.

Так есть ли способ, которым я могу сделатьэто вместо того, чтобы делать:

  • docker-compose down ( остановка всех служб)
  • код сборки / компиляции в службе, которую я хочу обновить
  • docker-compose up --build ( все сервисы компилировать / строить / ...)

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Обычно мы используем:

docker-compose stop servicename
docker-compose rm servicename

, а затем:

docker-compose up -d servicename
0 голосов
/ 21 сентября 2018

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

docker rm -vf <container-name>
docker rm -vr <container-id>

Если вам неудобно, вы можете удалить none изображений впоследствии,

docker rmi <image-id>

Кроме того, если у вас висит несколько none изображений, вы можете удалить все,

docker images -q --filter "dangling=true" | xargs docker rmi -f
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...