DNS 지정하기
docker run -d --dns 8.8.8.8 httpd:2.4
docker ps
docker exec -it friendly_ritchie cat /etc/resolv.conf
브리지(bridge) 타입으로 mybridge라는 이름의 네트워크를 생성합니다
docker network ls
docker network create --driver bridge mybridge
docker network ls
mybridge에 centos와 httpd를 생성합니다
docker run -d --network=mybridge centos /bin/sleep 3600s
docker run -d --name=myhttpd --network=mybridge httpd:2.4
docker ps
네트워크 정보를 확인할 수 있습니다.
docker network inspect mybridge
네트워크를 지정 안 하고 centos를 만들 경우 myhttpd에 접근이 되지 않는 것을 볼 수 있습니다.
같은 네트워크에 있는 centos는 접근이 됩니다. 네트워크에서 격리가 필요한 경우 활용할 수 있습니다.
curl 172.18.0.3
docker run -d centos /bin/sleep 3600s
docker ps
docker exec -it nifty_jepsen /bin/bash
curl 172.18.0.3
exit
docker exec -it practical_franklin /bin/bash
curl 172.18.0.3
DB를 만들어 격리할 수도 있습니다.
env 환경 변수로 mysql의 패스워드를 설정해야 접근이 가능합니다.
docker run -d --name=mydb2 --network=mybridge --env MYSQL_ROOT_PASSWORD=mysql mysql:5.5
같은 네트워크에 있는 centos로 접속합니다.
docker exec -it practical_franklin /bin/bash
mysql 설치 후 접속합니다
yum -y install mysql
mysql -u root -pmysql -h 172.18.0.4
show databases;
도커 네트워크 목록을 보면 bridge 외에도 host와 none이 있습니다.
docker network ls
docker run -d --network host centos /bin/sleep 3600s
docker ps
HOST의 경우 docker 컨테이너가 host의 네트워크 정보를 같이 쓰는 것입니다.
docker exec -it happy_wilbur /bin/bash
ip addr
none 같은 경우는 네트워크를 사용하지 않습니다.
docker run -d --network none centos /bin/sleep 3600s
docker exec -it pedantic_lehmann /bin/bash
ip addr
DHCP처럼 IP를 지정할 수도 있습니다.
docker network create --driver bridge --subnet 172.20.0.0/16 --ip-range 172.20.0.0/24 --gateway 172.20.0.1 new
docker network ls
IP가 172.20.0.0/24 대로 분배된 것을 볼 수 있습니다.
docker run --network new -it centos /bin/bash
ip addr
'CLOUD > CUBE' 카테고리의 다른 글
도커(Docker) 컨테이너(container) 이미지(image) 만들기 (0) | 2021.10.18 |
---|---|
도커(Docker) 볼륨(Volume) 할당 (0) | 2021.10.17 |
Docker 명령어 및 컨테이너 실행 (0) | 2021.10.11 |
Docker 설치 및 테스트 (0) | 2021.10.10 |
VirtualBox install(Centos 7) (0) | 2021.10.09 |