Docker - 네트워크와 Compose로 컨테이너 연결하기

2025. 6. 18. 14:21·Docker

네트워크와 Compose로 컨테이너 연결하기

Docker에서는 컨테이너 간 통신을 위해 네트워크를 구성합니다.
특히 사용자 정의 브리지 네트워크를 활용하면 컨테이너 이름으로 통신이 가능하고,
Docker Compose를 사용하면 여러 컨테이너 서비스를 효율적으로 관리할 수 있습니다.

도커 네트워크 

  • my-network라는 사용자 정의 브리지 네트워크를 생성합니다.
  • docker network ls 명령어로 네트워크 목록을 확인할 수 있습니다.
  • 사용자 정의 네트워크는 컨테이너 이름 기반 통신을 지원합니다.

컨테이너 간 통신 

 

container-b에서 container-a로 이름 기반 ping 테스트를 수행합니다.

  • container-a, container-b를 동일 네트워크(my-network)에 연결해 실행합니다.
  • ping container-a가 성공하면 컨테이너 간 통신이 가능한 것입니다.
  • apt install로 ping 명령어가 포함된 iputils-ping 패키지를 설치해야 합니다.

통신 가능 조건

  • 두 컨테이너가 동일한 사용자 정의 네트워크에 있어야 함
  • 컨테이너 이름이 도메인처럼 인식되어 통신 가능 (ping container-a)

Docker Compose

docker-compose.yml

  • Nginx 서버(web)와 Ubuntu 클라이언트(client)를 동시에 실행합니다.

docker compose up으로 컨테이너 실행

  • -d: 백그라운드 실행
  • docker-compose.yml에 정의된 서비스(web, client)가 하나의 네트워크로 묶여 한 번에 실행

컨테이너 간 통신

  • 같은 네트워크에 속해 있기 때문에 컨테이너 이름으로 통신 가능
docker exec -it web-client bash
apt update && apt install -y iputils-ping
ping web-server

  • web-client에서 web-server를 핑으로 호출 가능 → DNS 이름처럼 동작

외부 접속 설정

  • http://localhost:8088으로 브라우저에서 접근 가능
  • ports로 호스트와 컨테이너 간 포트 연결을 설정해야 외부 접속 가능

docker compose down으로 종료 및 정리

  • 실행 중이던 모든 서비스 중단
  • 자동으로 만든 네트워크 및 컨테이너도 제거
1. docker-compose.yml 작성
↓
2. docker compose up -d → 컨테이너들 실행 & 네트워크 연결
↓
3. 컨테이너 내부에서 이름 기반 통신 가능 (ex. ping web-server)
↓
4. ports 설정하면 외부에서도 접근 가능
↓
5. docker compose down → 종료 및 정리

 

 

'Docker' 카테고리의 다른 글

Docker - 데이터 관리(Volume, Bind Mount)  (1) 2025.06.18
Docker - RUN, CMD, ENTRYPOINT, EXPOSE 명령어 차이  (0) 2025.06.17
Docker - 애플리케이션과 Apache 서버 이미지 만들기  (0) 2025.06.17
Docker -i, -t, -d 옵션  (2) 2025.06.16
Docker - Dockerfile을 이용한 도커이미지 빌드  (0) 2025.06.16
Docker - 설치 & 컨테이너 실행  (0) 2025.06.16
'Docker' 카테고리의 다른 글
  • Docker - 데이터 관리(Volume, Bind Mount)
  • Docker - RUN, CMD, ENTRYPOINT, EXPOSE 명령어 차이
  • Docker - 애플리케이션과 Apache 서버 이미지 만들기
  • Docker -i, -t, -d 옵션
jaeon.cloud
jaeon.cloud
  • jaeon.cloud
    JEONG JAE ON
    jaeon.cloud
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • Docker (8)
      • Cloud (7)
      • AWS (14)
      • Network (9)
      • Linux (1)
      • Python (7)
      • Javascript (3)
      • React (5)
      • Project (3)
      • Kubernetes (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    http
    Python
    docker
    kubernetes
    lambda
    AWS
    react
    네트워크
    3-tier Architecture
    클라우드
    cors
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
jaeon.cloud
Docker - 네트워크와 Compose로 컨테이너 연결하기
상단으로

티스토리툴바