• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

docker-compose exec 질문 드립니다.

22.04.22 12:13 작성 조회수 826

1

docker-compose run nginx 로 컨테이너를 올리면

복수개의 컨테이너가 올라가는데요

 

그림처럼 컨테이너 이름은 다르지만 service name 이 동일하게 실행되는게 보입니다.

doxker-compose exec 로 특정 컨테이너에 무언갈 하고 싶은데  doxker-compose exec 뒤에 Service Name 를 적어야 하니 구분을 할수가 없는데 어떻게 가능 할까요?

 

 

 

답변 1

답변을 작성해보세요.

0

안녕하세요!

 

docker-compose exec로 특정 컨테이너에서 어떤 작업을 하고 싶은데, Service Name이 똑같아 보여서 구분하기 어려운 상황을 질문해주셨네요.

 

먼저, 이름이 n2인 컨테이너가 어떤 방법으로 실행하신 건지 궁금합니다. docker-compose up으로 실행한 컨테이너의 이름 규칙은 test1-nginx-1과 같습니다. (이름 마지막에 -숫자가 붙습니다.)

 

둘째로 docker-compose exec [NAME]에서 NAME에 들어갈 이름은, docker-compose.yml에 설정해 둔 이름과 같습니다. 만약 docker-compose.yml 파일을 다음과 같이 작성했다면,

version: '3'

services:
web:
image: nginx
proxy:
image: nginx

 

docker-compose up을 실행했을 때 nginx 컨테이너가 두 개 실행될 텐데요. docker-compose exec web bash 혹은 docker-compose exec proxy bash 명령어로 각 컨테이너에 대해 명령어를 실행할 수 있습니다.

 

궁금증이 해결되지 않았다면 docker-compose.yml 파일도 답글로 달아주시겠어요? 같이 살펴보면 좋겠습니다.