inflearn logo
강의

講義

知識共有

非専門家でも理解できるDocker入門/実践

よく使う Docker Compose CLI コマンド

실무에서 docker compose up --build를 할 때

解決済みの質問

190

11 1

投稿した質問数 147

0

docker compose up --build 같은 명령어는 실무에서 보통

기존 컨테이너를 중지한 다음에 하는 건가요? 아니면 실행 중인 상태에서 바로 저 명령어를 쓰는 편인가요?

상관없나요?

docker docker-compose docker-volume docker-image container ecr

回答 2

1

jscode

안녕하세요 ! 질문 잘해주셨어요 !

질문해 주신 내용에 대해 답변드려볼게요 ~

"docker compose up —build 같은 명령어는 실무에서 보통 기존 컨테이너를 중지한 다음에 하는 건가요? 아니면 실행 중인 상태에서 바로 저 명령어를 쓰는 편인가요? 상관없나요?"

-> 우선 실행 중인 상태에서 바로 docker compose up —build를 실행해도 괜찮아요 !

Docker Compose가 알아서 변경된 부분을 감지하고, 필요한 컨테이너만 재생성해주기 때문에 굳이 먼저 중지하지 않아도 돼요 !

다만 실무에서는 상황에 따라 다르게 사용하기도 해요 ~

개발 환경에서는 빠르게 변경사항을 반영해야 하니까 실행 중인 상태에서 바로 docker compose up —build를 많이 사용해요 !

반면 운영 환경에서는 안정성을 위해 docker compose down으로 먼저 중지한 다음 docker compose up —build를 실행하는 경우도 있어요 ! 혹시 모를 충돌이나 예상치 못한 상황을 방지하기 위해서요!

정리하면, 실무에서 두 방식 모두 사용되며 개발 환경에서는 편의성을 위해 바로 docker compose up —build를 실행하는 경우가 많고, 운영 환경에서는 안정성을 고려해 컨테이너를 내렸다가 다시 올리거나 무중단 배포 구조를 함께 사용하는 편이에요 !

이런 부분은 정답이 있다기보다는 현재 환경과 상황에 맞춰 선택하시면 돼요 :)

추가로 궁금하신 점 있으시면 언제든 편하게 질문남겨주세요 ~

1

11 1

자세한 답변 감사합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 11 1님.

Docker Compose의 up --build 명령어 사용에 대해 문의하셨군요. 실무에서는 다양한 시나리오가 존재할 수 있지만, 일반적으로 다음과 같은 경우들을 고려할 수 있습니다.

Docker Compose up --build 사용 시 고려사항

  1. 기존 컨테이너 중지:

    • 실무에서 중요한 변경 사항이 있는 경우, 특히 데이터베이스나 중단이 중요한 서비스에 변경이 생길 때 기존 컨테이너를 중지하고 새로운 이미지 빌드 후 실행하는 것이 일반적입니다. docker compose down 명령어를 사용하여 안전하게 모든 컨테이너를 중지한 후, docker compose up --build를 사용하여 새로운 이미지를 빌드하고 실행할 수 있습니다.
  2. Running 상태에서의 업데이트:

    • 간단한 코드 변경이나 애플리케이션의 가벼운 업데이트의 경우, 서비스의 중단 없이 바로 docker compose up --build를 사용할 수도 있습니다. 그러나 이 경우에는 서비스 중단 여부와 다운타임이 시스템에 미치는 영향을 충분히 고려해야 합니다.
  3. 상관 없을 경우:

    • 경우에 따라 애플리케이션이 상태 저장이 필요 없고, 기존에 동작 중이던 서비스의 데이터가 중요하지 않을 경우, 기존 컨테이너 상태를 중지할 필요가 없을 수 있습니다. 하지만 이 역시도 서비스 및 애플리케이션의 특성에 따라 달라질 수 있습니다.

실무에서의 실제 상황은 배포 환경, 서비스의 특성 및 조직의 운영 정책에 따라 달라질 수 있으므로, 위의 일반적인 가이드라인을 참고하시되, 각 프로젝트의 특성에 맞추어 적용하시기를 권장드립니다.

관련하여 유사한 질문을 아래 링크에서 확인하실 수 있습니다:
- 여러 WAS를 docker compose로 관리할 때 –build 옵션 사용
- Docker Compose 및 이미지 업데이트 전략

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

EC2 터미널에서 docker pull

0

64

2

AWS ECR

0

58

2

FROM openjdk:17-jdk 현재 기준 dockerhub에 없습니다

1

100

2

Redis 볼륨 설정?

0

117

2

컨테이너의 IP

0

80

2

도커 이미지를 만들 때 application.yml

0

105

2

compose.yml 관리

0

88

2

ECR 리포지토리에 이미지가 3개가 보입니다.

0

77

2

액세스 키 등록하는 시점 관련 질문이 있습니다.

0

83

1

depends_on에 따른 컨테이너 실행 순서

0

77

2

실제 웹 서비스 배포 시 질문

0

80

2

도커 volume 질문

0

67

3

HTTPS로도 받고 싶으면 docker compose에 443도 쓰면 될까요?

0

74

2

sql 볼륨 폴더 지우면 데이터베이스 데이터 날라가는거 아닌가요?

0

74

2

39강 도커파일 빌드 경로 질문이 있습니다.

0

71

2

도커파일 copy

0

70

2

mysql_data 폴더 내부에 다른 파일이 있는데도 잘 되는 경우

0

87

2

도커 허브에서 postgres 버전 확인하는 법

0

128

2

보충 자료와도 관련된 추가 내용

1

83

1

현업에서 MySQL은 RDS와 도커 볼륨 중 어떤 걸 사용하나요?

0

110

2

노션 자료에 안 보이는 이미지가 있습니다

0

101

1

도커 허브에서의 latest가 가장 최신인 게 맞나요?

0

121

2

docker image ls 실행 시 나오는 내용이 다릅니다

0

87

2

윈도우 볼륨 생성이 안됩니다.

0

78

2