inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

비전공자도 이해할 수 있는 Docker 입문/실전

[실습] Docker Compose 전체 흐름 느껴보기 (Nginx 설치 및 실행)

서비스 이름 컨테이너 이름 차이 ??

206

병훈

작성한 질문수 16

0

안녕하세요. 선생님 오늘도 공부하다 궁금증이 생겨 질문 드립니다.

 

services:

my-web-server:

container_name: webserver

image: nginx

ports:

- 80:80

 

여기서 선생님이 나눠주신 자료랑 강의를 보면 하나의 서비스가 하나의 컨테이너라고 설명해주셨습니다.

그러면 my-web-server는 서비스 이름이니까 컨테이너 이름도 맞는 설명인가 같은데

아래 보면 container_name: webserver 도 하나의 컨테이너 이름으로 설명하셨습니다.

 

이 my-web-server와 webserver 차이점이 무엇인지 궁금하고 어느 곳에서 쓰이는지 활용사례(?)도 궁금합니다!!

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

답변 2

0

JSCODE 박재성

안녕하세요 병훈님! 좋은 질문 주셨네요:)

우선 인프런 AI 인턴이 잘 답변해준 것 같습니다!

그리고 추가적으로 질문하신 '하나의 서비스에 여러 컨테이너가 존재할 수 있는지'에 대한

답변을 드릴 수 있도록 할게요.

결론부터 말씀드리자면 가능합니다.

아래 링크에 설명이 자세히 나와있는 것 같아 링크로 첨부드립니다ㅎㅎ

https://velog.io/@lijahong/0%EB%B6%80%ED%84%B0-%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94-Docker-%EA%B3%B5%EB%B6%80-Docker-Compose-%EA%B0%9C%EB%85%90-Scale-%EC%A1%B0%EC%A0%95-%EA%B8%B0%EC%B4%88-%EC%B6%94%EA%B0%80

혹시 위 링크 보시고 이해 안 되시는 점 있으시면 또 답글 달아주세요~~

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 병훈님!

Docker Compose 파일에서 services 항목은 각각의 애플리케이션 컴포넌트를 정의하는 곳입니다. 여기서 정의된 각 서비스는 하나 이상의 컨테이너 인스턴스로 실행됩니다. 병훈님이 궁금해하신 부분에 대해 설명 드리겠습니다.

  1. 서비스 이름 (my-web-server):

    • 이는 주어진 Compose 파일 내에서 서비스를 식별하기 위한 이름입니다. 이 이름은 주로 Docker 네트워크 안에서 서비스 간의 통신에 사용됩니다.
    • 예를 들어, 다른 컨테이너가 my-web-server와 통신해야 할 경우, 이 서비스 이름을 통해 접근할 수 있습니다.
  2. 컨테이너 이름 (webserver):

    • container_name은 생성되는 실제 Docker 컨테이너의 이름을 설정하는 옵션입니다. 만약 구성 파일에서 이 옵션을 명시하지 않으면 Docker는 자동으로 {서비스_이름}_{scale_숫자} 형식으로 정해진 이름을 부여합니다.
    • 명시적으로 컨테이너 이름을 지정할 경우, 관리하거나 문제를 해결할 때 특정 컨테이너를 쉽게 식별할 수 있는 장점이 있습니다.

따라서 my-web-server는 서비스 레벨에서의 이름이고, webserver는 실제 실행되는 컨테이너를 식별하기 위한 이름이라고 이해하시면 됩니다.

관련해서 좀 더 심도 있는 설명과 예시는 다음의 링크를 참고해 보시기 바랍니다:
- 서비스와 컨테이너 이름 간 관계

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

1

병훈

AI님 그러면 하나의 서비스에 여러 컨테이너 존재할 수 있는건가요?

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

76

2

실제 웹 서비스 배포 시 질문

0

80

2

도커 volume 질문

0

67

3

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

0

73

2

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

0

73

2

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

0

70

2

도커파일 copy

0

70

2

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

0

187

2

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

0

86

2

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

0

127

2

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

1

82

1

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

0

110

2

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

0

101

1

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

0

121

2

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

0

87

2