• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

도커 서비스명과 컨테이너명 문의드립니다.

21.07.04 10:25 작성 조회수 132

0

안녕하세요

언젠가 복습하다가 제가 임의대로 컨테이너 이름을 따로 지정해보고싶었었나봐요.

컨테이너 이름 뒤에 _1 이런게 붙는게 싫었던걸로 기억하긴 하는데..

지금 또 복습하다가 발견하고 혼란이 생겨서 질문드립니다.

  django_container_gunicorn:
    image: django_test_image:3
    networks:
      - nginx-django
    container_name: django_container_gunicorn
    restart: always
    volumes:
      - static:/home/pragmatic_50_dk/staticfiles
      - media:/home/pragmatic_50_dk/media

nginx.conf에서 사용되는 아래 코드 부분이 서비스이름인거 맞나요?
proxy_pass http://django_container_gunicorn:8000;

지금 이걸 발견한 순간부터 혼란이 오고있어서요.. 제 기억에는 서비스이름인 것 같긴 한데..

컨테이너이름과 서비스이름이 같아도 지금 작동은 잘 되는 것 같은데..

혹시 이름을 저렇게 따로 정하지 말아야 한다거나 이름을 다르게 하는게 좋을지 궁금해서요.

답변 1

답변을 작성해보세요.

1

안녕하세요!
질문 확인했습니다.

nginx 설정파일 내에 proxy 구문에서 작성하는 이름은 서비스 이름이 맞습니다.

그리고 추가적으로 말씀 드리자면,
container_name 옵션은 저희 강좌에서 사용하지 않았는데,

해당 옵션은 Docker Compose 모드에서 사용 가능한 옵션으로,
Docker Swarm 모드에서는 무시되는 옵션입니다.

https://docs.docker.com/compose/compose-file/compose-file-v3/#container_name

위의 공식문서에서 확인할 수 있습니다.

그래서 결과적으로 작성하신 compose 파일에서 container_name 은 있든 없든 적용이 되지 않으며,
nginx 설정파일에 적은 해당 django_container_gunicorn 이 가르키는 것은 서비스 명이 맞습니다.

답변이 도움이 되셨으면 좋겠네요!
좋은하루 보내세요-

감사합니다.