$ ip addr
: docker0 ip 확인
$ brctl show
: bridge 확인
172.17.0.2 부터 순차적으로 할당되는 것을 볼 수 있음
c1 컨테이너가 외부 통신이 잘 되는 모습
$ iptables -t nat -L -v
을 통해 MASQUERADE 세팅을 확인$ docker inspect c1
을 통해 NetworkSettings에 TCP 통신을 위해 필요한 값들이 setting되어 있음port-forwarding
$ docker run --name web1 -d -p 80:80 nginx
$ docker run --name web2 -d -p 80 nginx
$ docker run --name web -d -P nginx
docker0는 bridge임
user-defined bridge network 생성
user-defined bridge network 안에 컨테이너 생성 및 static ip 설정한 것 확인
$ docker run -d --name mysql -v /dbdata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=wordpress -e MYSQL_PASSWORD=wordpress mysql:latest
$ docker run -d --name wordpress --link mysql:mysql -e WORDPRESS_DB_PASSWORD=wordpress -p 80:80 wordpress:4
#!/bin/bash
mkdir -p /webdata
while true
do
/usr/bin/rig | /usr/bin/boxes -d boy > /webdata/index.html
sleep 5
done
FROM ubuntu:latest
RUN apt-get update; apt-get -y install rig boxes
ADD genid.sh /bin/genid.sh
RUN chmod +x /bin/genid.sh
ENTRYPOINT ["/bin/genid.sh"]
$ docker build -t genid .
: genid image 생성
$ docker run -d --name genid genid
: genid container 실행
$ docker exec -it genid genid
: 접근해서 /webdata/index.html 찍어본 결과 잘 나오는 것을 확인
$ docker run -d --name genid -v /webdata:/webdata genid
: 로컬에 마운트함
$ docker run -d --name web -v /webdata:/usr/share/nginx/html:ro -p 80:80 nginx
: mount한 index.html을 nginx를 통해 service하는 것을 확인