如何修改正在运行的docker容器映射端口

修改容器配置文件,重启docker服务

需要注意:该方法需要重启整个docker服务,如果在同一个宿主机上运行着多个容器服务的话,就会影响其他容器服务

systemctl stop docker

先停止docker服务,此步骤较重要,如果是restart 则修改hostconfig.json配置文件之后,不起作用。

容器的配置文件路径

/var/lib/docker/containers/[hash_of_the_container]/hostconfig.json

其中的hashofthecontainer是docker镜像的hash值,可以通过docker ps或者docker inspect containername查看。(CONTAINER ID就可以看出来)

如何修改正在运行的docker容器映射端口

文件中其中有一项是PortBindings,其中8080/tcp对应的是容器内部的8080端口,HostPort对应的是映射到宿主机的端口9190。8361/tcp对应的是容器内部的8361端口,HostPort对应的是映射到宿主机的端口9191。按需修改端口,然后重启docker服务,再启动容器服务就可以了。

然后启动docker服务

systemctl start docker

即可