작성
·
155
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 이 가르키는 것은 서비스 명이 맞습니다.
답변이 도움이 되셨으면 좋겠네요!
좋은하루 보내세요-
감사합니다.