对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行: | ||
Env Infomation | Env Infomation | ||
第28行: | 第26行: | ||
同理,iptables相应的端口转发规则也只会在container 正常running的时候会建立 | 同理,iptables相应的端口转发规则也只会在container 正常running的时候会建立 | ||
[[分类: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的时候会建立