在使用容器的过程中我们可能需要修改或者添加新的端口映射,以下也Nginx容器为例:

1、进入容器配置文件目录/var/lib/docker/containers/[hash_of_the_container]

   hash_of_the_container 可以通过 docker inspect 容器名字 来查看。如下图所示:

   

docker 查看容器端口映射 docker容器配置端口映射_docker

   id 就是 容器的 hash 数值。

docker inspect nginx    #查看容器的hash数值
cd /var/lib/docker/containers/a17a3b452910e1b333404905b22dc9d3228f1e5a7f0fd60582ec9c837289bfde     #进入容器配置文件目录

2、修改相关配置文件,现在给该容器新增一个8081端口并且映射为本机的8081端口。

在修改配置文件之前先把docker停了:

sudo systemctl stop docker    #停止docker

a、修改hostconfig.json

   在 hostconfig.json 里有 "PortBindings":{} 这个配置项,如下图所示:     

docker 查看容器端口映射 docker容器配置端口映射_docker_02

  新增8081端口映射为本机的8081端口,如下图所示:

docker 查看容器端口映射 docker容器配置端口映射_json_03

 b、修改config.v2.json

    在config.v2.json里面有"ExposedPorts":{}这个配置项,如下图所示:

docker 查看容器端口映射 docker容器配置端口映射_配置文件_04

在该配置项中加入“8081/tcp”:{},如下图所示:

docker 查看容器端口映射 docker容器配置端口映射_docker_05

 修改完配置文件以后启动docker,并查看容器端口是否添加成功:

sudo systemctl start docker    #启动docker
docker ps

docker 查看容器端口映射 docker容器配置端口映射_docker 内外部容器端口没有关联_06