2023-09-22 13:32:23
728x90
728x90

환경 변수 주기
docker run -it -e a=100 --name a1 alpine
echo $a
docker run -it -e password=babo --name c1 centos:7
echo $password

docker network
docker network ls           network 목록 보기
docker network create --subnet 192.168.0.0/24 --gateway 192.168.0.254 babo

192.168.0.0 네트워크 대역대에 255.255.255.0 서브넷마스크로 게이트웨이는 192.168.0.254 를 쓰는 babo network 생성 
-d bridge,host,none        -d 옵션을 안주면 bridge가 기본값으로 지정됨


docker run -itd --net babo --name a1 alpine       a1에 babo라는 network를 지정해서 실행
docker network connect bridge a2                     a2에 bridge network도 연결해주면 a1 container와 ping test 가능
docker network disconnect bridge a2                 a2에 bridge network 연결 끊기
docker run -itd --net host --name h1 httpd          host network는 같은 port를 사용하는 nginx는 같이 실행이 안됨
firewall-cmd --add-port=80/tcp 80포트를 열어줘야 10.0.0.1를 검색하면 연결됨
docker network rm babo                                     babo network 지우기


docker network create test1

docker 설치시 기본적으로 bridge 를 사용하는 172.17.0.1의 ip가 배정이 되는데

network를 생성할때 아무것도 지정해주지 않으면 순차적으로 1씩 증가가 되서 172.18.0.1로 생성이 됨

docker network create --subnet 10.10.0.0/24 --gateway 10.10.0.254 -d bridge n1   n1 네트워크 생성
docker run -itd --net n1 --name a1 alpine           n1 network로 alpine 실행
docker exec -it a1 /bin/sh          a1 container에 접속

ip a                                            a1 container ip 확인
docker network connect bridge a1            host의 docker 네트워크를 연결해 172.17.0.2의 ip 할당하기


docker run -itd --net host --name h2 httpd          host의 ip를 쓰는 http 실행
docker run -itd -e MYSQL_ROOT_PASSWORD=It1 --net host --name m1 mysql:5.7      host의 ip를 쓰는 mysql:5.7 실행
firewall-cmd --add-port=3306/tcp                        mysql 방화벽 열어주기
mysql -uroot -pIt1 -h 10.0.0.1                              mysql 접속하기



--link 옵션
docker run -itd --name a1 alpine
docker run -itd --link a1 --name a2 alpine
docker exec a2 ping a1
docker exec a1 ping a2
docker exec a2 cat /etc/hosts

--add-host 옵션
docker run -itd --add-host a2:172.17.0.3 --add-host a3:172.17.0.4 --name a1 alpine
docker exec a1 cat /etc/hosts
docker run -itd --add-host a1:172.17.0.2 --add-host a3:172.17.0.4 --name a2 alpine
docker exec a2 cat /etc/hosts
docker run -itd --add-host a1:172.17.0.2 --add-host a2:172.17.0.3 --name a3 alpine
docker exec a3 cat /etc/hosts

728x90

'Container' 카테고리의 다른 글

Docker Dockerfile  (0) 2023.09.25
Docker Volume  (0) 2023.09.21
Docker 설치, 기본 명령어  (0) 2023.09.20