有的时候遇见问题有点懵,对基础的东西不是很清楚导致判断,不明确.
遇见一个mysql容器端口映射,在其他的网段无法远程登录到容器内的mysql
后分析发现是没有开启ip_forward转发导致(eth0:port -> docker0 -> vether:port)网络不通

env

  • centos7.x
  • docker-v19.x

#docs

mapping-port

  • ip:hostPort:containerPort //一对一映射
  • ip::containerPort //类似-P,监听特定网卡的随机端口映射到容器特定额端口
  • hostPort:containerPort //容器端口映射到宿主机所有网卡的特定端口

practices

//syntax
docker run -p [([<host_interface>:[host_port]])|(<host_port>):]<container_port>[/udp] <image> <cmd> //default tcp

//running
docker run  -p  ip:hostPort:containerPort  image:tag
docker run -P image:tag 

//check port
ss -lnt
docker port container_id