[Docker] 도커 네트워크 확인

rekv·2025년 3월 20일

Docker

목록 보기
8/12
post-thumbnail

[Docker] 도커 네트워크의 이해를 위한 실습과 이어지는 내용

도커를 설치하고 네트워크 확인

도커 설치

apt-get install -y docker.io

도커 네트워크를 확인하기 위해서는 우선 도커 설치가 필요하다.
위의 명령어로 도커를 설치한 다음 실행한다.

아무 컨테이너나 실행

docker run -d --name test ubuntu sleep infinity

옵션/명령어설명
docker run새로운 컨테이너를 생성하고 실행
-dDetached 모드로 실행. 터미널에 붙어있지 않고 백그라운드에서 컨테이너를 실행
--name test생성할 컨테이너의 이름을 test로 지정. 이름을 지정하지 않으면 Docker가 임의로 이름을 생성
ubuntu사용할 Docker 이미지. 여기서는 ubuntu 이미지를 기반으로 컨테이너를 만듦
sleep infinity컨테이너 안에서 실행할 명령어. sleep infinity는 무한정 대기 상태를 유지하기 때문에 컨테이너가 계속 실행됨

docker ps

현재 실행중인 도커 확인

docker exec -it test /bin/bash

옵션/명령어설명
docker exec실행 중인 컨테이너 안에서 새로운 명령어를 실행
-iinteractive 모드로, 표준 입력을 계속 열어둠
-tpseudo-TTY(터미널)를 할당하여 터미널 환경을 제공
test명령어를 실행할 대상 컨테이너의 이름. 위에서 생성한 test 컨테이너
/bin/bash컨테이너 안에서 bash 쉘을 실행하여 터미널처럼 사용할 수 있도록 함

-it[option] : 터미널에서 명령을 할 수 있도록 대화형으로 실행하는 옵션

위의 방법대로 Linux server에서 아무 docker container를 실행시키고 ip를 확인해보면 아래와 같이 나온다.

앞선 네트워크 네임스페이스 실습에서는 각 네임스페이스(ns)마다 직접 브리지와 연결된 링크를 생성하고, 링크 상태를 up시키며, 라우팅 및 포트포워딩을 수동으로 설정해야 했다.
그러나 Docker는 이러한 네임스페이스와 브리지 연결, veth 페어 생성, 링크 활성화, 기본 라우팅, 그리고 NAT 및 포트포워딩까지 모든 과정을 자동으로 처리한다.
사용자는 docker run 명령어만으로 별도의 네트워크 설정 없이 손쉽게 컨테이너를 외부 네트워크와 연결할 수 있다.

정리

수동 네임스페이스 실습Docker
ip netns add로 네임스페이스 직접 생성Docker가 컨테이너 실행 시 네임스페이스 자동 생성
ip link add로 veth 페어 연결Docker가 컨테이너와 브리지를 veth로 자동 연결
ip link set ... up으로 링크 상태 활성화Docker가 자동으로 인터페이스 활성화
ip addr add로 IP 할당 및 라우팅 수동 설정Docker가 IP 할당 및 기본 라우팅 자동 설정
iptables로 NAT 및 포트포워딩 수동 설정Docker가 기본 NAT 및 포트포워딩 자동 구성

docker network 목록 확인

docker network ls

기본은 bridge 타입으로 만들어진다.

docker network create my_network --driver [driver type]

다른 타입을 원할 경우 다음의 명령어로 지정할 수 있다.

docker-compose.yml에서의 network 지정

이를 이용해 docker-compose.yml 내에서도 network 종류를 지정하고 어디에 연결할지도 설정할 수 있다.

0개의 댓글