容器和容器之间通信:
docker network ls 查看docker网络namespace
docker network create -d bridge lamp 创建一个新的网络
docker network create -d bridge --subnet 172.100.10.0/24 --gateway 172.100.10.1 lanp
docker network rm lamp 删除一个网络
docker run --name tomcat --net=lamp -d tomcat 创建网络为lamp的容器
docker run --name tomcat --net=none -d tomcat 只能和自己通信
docker exec -it tomcat /bin/bash 进入容器
docker exec tomcat ip addr 在容器中执行ip addr命令立即返回
容器与外界网络通信:
使用snat模式:
iptables -t nat -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
iptables -t nat -vnL POSTROUTING --line-numbers 查看nat表的POSTROUTING规则
iptables -t nat -D POSTROUTING 6 删除nat表的POSTROUTING的第一条规则
外界网络与容器通信:
docker run --name tomcat -d -p 8080:8080 tomcat
docker run --name tomcat -d -P tomcat
映射端口是随机的,需要tomcat显示的暴露端口,如:EXPOSE 8080