已经启动的容器添加端口映射

[root@vm ~]# docker run -itd --name test -p 2222:22 centos:basic
6abe86895c0c0cc02a283a9ae8c0deb97cf4b193876d4577e1af8e80cf85913c

[root@vm ~]# docker ps
CONTAINER ID   IMAGE          COMMAND               CREATED         STATUS                                                                               PORTS                    NAMES
6abe86895c0c   centos:basic   "/usr/sbin/sshd -D"   3 seconds ago   Up 2 seconds                                                                         0.0.0.0:33333->22/tcp    test
# 1、先停止容器
[root@vm ~]# docker stop  test
linux   在/var/lib/docker。docker info 查看家目录
windows 在资源管理(进入磁盘文件夹时,左下角有 linux的小企鹅 
-> \\wsl.localhost\docker-desktop-data\data\docker\containers



# 2、进入对应的容器id文件夹,
6abe86895c0c
6abe86895c0c0cc02a283a9ae8c0deb97cf4b193876d4577e1af8e80cf85913c


# 3、修改hostconfig.json
{
    ...
        "PortBindings": {
                "80/tcp": [
                        {
                                "HostIp": "",
                                "HostPort": "38080"
                        }
                ],
                "22/tcp": [
                        {
                                "HostIp": "",
                                "HostPort": "2222"
                        }
                ]
        }
}


# 4、修改config.v2.json
{
...
        "Config": {
...
                "ExposedPorts": {
                        "38080/tcp": {},
                        "22/tcp": {}
        }
    }
}

# 5、重启docker服务(一定要重启)
systemctr restart docker

# 6、启动容器服务
systemctl start test

更多推荐