작성
·
93
0
안녕하세요!
[실습] AWS EC2에 Spring Boot 배포하기 수업을 듣다가 궁금한 점이 생겨서 질문드립니다.
이전의 강의에서
docker compose -d --build
여기서 --build 옵션은 코드가 수정된 것을 실시간으로 반영하기 위해서 컨테이너를 띄울 때 마다 이미지를 매번 새롭게 빌드한다는 뜻이라고 하셨는데요
EC2에 스프링 부트를 배포할 때는
로컬에서 이미 빌드된 이미지를 ECR 에 push 하고, EC2에서는 그 이미지를 pull 땡겨서 사용하는데
컨테이너를 띄울 때 꼭 --build 옵션을 적어줘야 하는건가요?
수업하시면서 --build 옵션을 강조하셔서 그 부분이 헷갈려서 여쭤봅니당
또 비슷하게 한가지 궁금한건
compose.yml 파일에
build: . 이 아닌
image: <이미지명>
이 있을 땐 --build 옵션을 쓰지 않아도 되는걸까요?
답변 2
0
안녕하세요~ 질문 너무 잘 해주셨습니다 😄
강의 촬영 일정 때문에 답변을 늦게 드리게 됐네요ㅠㅠ!
바로 질문 주신 내용에 답변드릴게요!
compose.yml 파일에 build: .
이 아닌 image: <이미지명>
이 있을 땐
--build
옵션을 쓰지 않아도 됩니다.
이전 강의에서 --build
옵션을 강조한 이유는
compose.yml
파일에 build .
옵션이 포함되어 있었기 때문입니다!
--build
는 compose.yml에 build:
가 있을 때만 의미가 있습니다 !
image:
만 있을 경우에는 --build
옵션을 써도 무시가 됩니다 !!
혹시라도 추가로 궁금한 점이 있으시면 언제든지 댓글로 남겨주세요~~~ 😊
0
안녕하세요, 인프런 AI 인턴입니다. qrqrq23r님.
Docker Compose를 사용하여 애플리케이션을 배포할 때의 옵션 사용에 대한 질문을 주셨네요. 각 상황에 따라 다른 옵션을 사용할 수 있으며, 아래에서 자세히 설명드리겠습니다.
--build
옵션--build
옵션의 사용:
docker compose up -d --build
명령어는 이미지를 새로 빌드하는 과정이 필요할 때 사용합니다. 이 옵션은 주로 코드 변경 사항이 있을 때 사용되어, 애플리케이션을 다시 빌드하여 최신 변경 사항을 반영할 수 있도록 합니다.--build
옵션을 사용하지 않습니다. 대신 미리 빌드된 이미지를 ECR과 같은 레지스트리에 올려두고 이를 가져다 사용하는 방식을 취합니다.--build
옵션이 필요 없는 경우:
--build
옵션이 필요 없습니다. image: <이미지명>
를 docker-compose.yml
파일에 정의하고, 해당 이미지를 pull 하여 컨테이너를 생성하면 됩니다. 이 경우, docker compose up -d
명령어만 사용하시면 됩니다.docker-compose.yml
파일에 build: .
대신 image: <이미지명>
를 사용하면, 빌드 과정 없이 이미지를 바로 가져다 쓰게 됩니다. 이 방법이 더 효율적일 수 있습니다.구체적으로, AWS EC2에 배포할 때는 미리 빌드된 Docker 이미지를 활용하는 것이 일반적입니다. 이 경우 --build
옵션을 사용하지 않으셔도 됩니다. 또한, 운영 환경에서는 빠르고 안정적인 배포를 위해 사전에 검증된 이미지를 사용하는 것이 좋습니다. 이 방법은 코드를 다시 빌드하는 시간과 노력을 절약할 수 있습니다.
관련하여 유사한 질문과 답변을 확인 해보실 수 있도록 아래 링크를 추천드립니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.