docker 端口映射

1. 添加端口映射

 
a, 获取容器ip  
    docker inspect $container_name | grep IPAddress
b. 添加转发规则  
    iptables -t nat -A DOCKER -p tcp --dport $host_port -j DNAT --to-destination $docker_ip:$docker_port  

 

2. 删除端口映射

a. 获取规则编号  
    iptables -t nat -nL --line-number
b. 根据编号删除规则  
    iptables -t nat -D DOCKER $num

备注:此处“DOCKER"可以替换为table中对应的字段名称。

 

docker 容器非正常关闭/或者无法正常stop 、kill,本人遇到的情况是容器中存在了僵尸进程,可以尝试将这些进程kill掉之后再关闭容器/删除。关闭僵尸进程的方法,可以在宿主机上直接kill掉对应的进程。

这样非正常方式删除的容器,会在端口映射表(iptables)中存在残留,特别是你新启动的容器IP,端口与原来的一致,这样创建新的容器就不能成功。

需要按照上面的删除端口映射的方式,清楚一下映射。

再重新创建容器,OK。

 

 

你可能感兴趣的:(docker,服务器)