새로운 구성으로 단일 docker-compose 컨테이너 다시 만들기

새로운 구성으로 단일 docker-compose 컨테이너 다시 만들기

내 내용을 변경하는 경우 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명령을 갖는 것이 좋을 것입니다

관련 정보