容器和容器之间通信:

  1. docker network ls 查看docker网络namespace
  2. docker network create -d bridge lamp 创建一个新的网络
  3. docker network create -d bridge --subnet 172.100.10.0/24 --gateway 172.100.10.1 lanp
  4. docker network rm lamp 删除一个网络
  5. docker run --name tomcat --net=lamp -d tomcat 创建网络为lamp的容器
  6. docker run --name tomcat --net=none -d tomcat 只能和自己通信
  7. docker exec -it tomcat /bin/bash 进入容器
  8. docker exec tomcat ip addr 在容器中执行ip addr命令立即返回

容器与外界网络通信:

  1. 使用snat模式:
  2. iptables -t nat -A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
  3. iptables -t nat -vnL POSTROUTING --line-numbers 查看nat表的POSTROUTING规则
  4. iptables -t nat -D POSTROUTING 6 删除nat表的POSTROUTING的第一条规则

外界网络与容器通信:

  1. docker run --name tomcat -d -p 8080:8080 tomcat
  2. docker run --name tomcat -d -P tomcat
  3. 映射端口是随机的,需要tomcat显示的暴露端口,如:EXPOSE 8080