
내 내용을 변경하는 경우 docker-compose.yml
(예: 컨테이너 포트가 노출되는 호스트 포트 변경) 해당 단일 컨테이너를 다시 생성할 수 있습니까, 아니면 전체 스택을 다시 시작해야 합니까?
docker-compose stop ; docker-compose up
작업은 수행하겠지만 나머지 서비스는 다시 시작하지 않고 싶습니다. 또한 다시 시작하는 서비스와 관련된 볼륨을 삭제하지 않기를 원하므로 docker-compose kill <service> ; docker-compose rm
선택 사항이 아닙니다.
답변1
다시 실행하세요 docker-compose up
. 변경 사항의 영향을 받는 모든 항목(컨테이너, 볼륨, 네트워크 등)이 다시 생성되고 다른 컨테이너는 그대로 유지됩니다.
최신 이미지를 사용하려면 docker-compose pull
미리 실행하세요.
답변2
때때로 일부 env 파일에 대한 변경 사항이 무시됩니다. 그럼 내가 할게
docker stop mycontainer
docker compose up
이렇게 하면 단일 컨테이너와 종속 컨테이너가 다시 시작됩니다. 종속 컨테이너를 다시 시작하지 않는 것은 좋지 않습니다. 왜냐하면 mycontainer
다른 도커 IP가 나타나기 때문입니다.
어떤 종류의 reload
명령을 갖는 것이 좋을 것입니다