对docker原生端口映射的随记:修订间差异

来自三线的随记
(创建页面,内容为“{{DISPLAYTITLE:docker原生端口映射的随记}} Env Infomation * kernel 3.10.0-957.el7.x86_64 * CentOS Linux release 7.6.1810 (Core) * Docker Server Version: 19…”)
 
无编辑摘要
第1行: 第1行:
{{DISPLAYTITLE:docker原生端口映射的随记}}
Env Infomation
Env Infomation


第28行: 第26行:
同理,iptables相应的端口转发规则也只会在container 正常running的时候会建立
同理,iptables相应的端口转发规则也只会在container 正常running的时候会建立


# y


[[分类:Docker]]
[[分类:Docker]]
[[分类:Linux]]
[[分类:Linux]]
{{DISPLAYTITLE:docker原生端口映射的随记}}

2021年4月26日 (一) 15:26的版本

Env Infomation

  • kernel 3.10.0-957.el7.x86_64
  • CentOS Linux release 7.6.1810 (Core)
  • Docker Server Version: 19.03.8
[root@dx-poc-w03 ~]# docker run -itd --name docker-test -p127.0.0.1:2344:2344 --entrypoint=bash docker.elastic.co/beats/filebeat:7.6.0
6bb73a6bde431623e2ab0d9641e3b9b20c9b71c5bee133e99a97363889751d9e

[root@dx-poc-w03 ~]# iptables-save | grep 2344
-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 2344 -j ACCEPT
-A POSTROUTING -s 172.17.0.2/32 -d 172.17.0.2/32 -p tcp -m tcp --dport 2344 -j MASQUERADE
-A DOCKER -d 127.0.0.1/32 ! -i docker0 -p tcp -m tcp --dport 2344 -j DNAT --to-destination 172.17.0.2:2344

[root@dx-poc-w03 ~]# ss -nplt | grep 2344
LISTEN     0      4096   127.0.0.1:2344                     *:*                   users:(("docker-proxy",pid=70509,fd=4))

[root@dx-poc-w03 ~]# docker stop docker-test
docker-test
[root@dx-poc-w03 ~]# ss -nplt | grep 2344

原生docker通过docker run 命令并且expose端口(-p) ,在container runing的时候相应的地址端口二元组会在节点上建立监听(监听进程为 docker-proxy)

容器stop 或者Exited以后,相应的端口也会取消监听


同理,iptables相应的端口转发规则也只会在container 正常running的时候会建立