1. 程式人生 > >DOCKER 給運行中的容器添加映射端口

DOCKER 給運行中的容器添加映射端口

docker端口映射

DOCKER 給運行中的容器添加映射端口

方法1

1、獲得容器IP

container_name 換成實際環境中的容器名

docker inspect `container_name` | grep IPAddress1

2、 iptable轉發端口

將容器的8000端口映射到docker主機的8001端口

iptables -t nat -A  DOCKER -p tcp --dport 8001 -j DNAT --to-destination 172.17.0.19:800012

方法2

1.提交一個運行中的容器為鏡像

docker commit -m 'add images' mycentos linjie/mycentos:v1

2.運行鏡像並添加端口

docker run -d -p 8000:80  linjie/mycentos:v1 /bin/bash
3.docker環境的防火墻配置初始化docker配置
[root@master data]# cat /etc/sysconfig/iptables                                                         
# Generated by iptables-save v1.4.7 on Tue Nov 28 17:11:06 2017
*filter
:INPUT ACCEPT [120034:127871175]
:FORWARD ACCEPT [16:832]
:OUTPUT ACCEPT [81537:11246389]
:DOCKER - [0:0]
-A FORWARD -o docker0 -j DOCKER 
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT 
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT 
-A FORWARD -i docker0 -o docker0 -j ACCEPT 
COMMIT
# Completed on Tue Nov 28 17:11:06 2017
# Generated by iptables-save v1.4.7 on Tue Nov 28 17:11:06 2017
*nat
:PREROUTING ACCEPT [2:288]
:POSTROUTING ACCEPT [11:621]
:OUTPUT ACCEPT [4:257]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER 
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE 
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER 
-A DOCKER -p tcp -m tcp --dport 8080 -j DNAT --to-destination 172.17.0.6:8080 
COMMIT
# Completed on Tue Nov 28 17:11:06 2017


DOCKER 給運行中的容器添加映射端口