解决docker容器映射信息修改问题

docker容器映射信息修改有两种方式:

  1. 可以删除容器,根据新的映射要求重新运行容器。该方法会改变运行的容器,对于没有缓存数据的容器来说是最 便捷的 修改方式。
  2. 可以修改容器配置文件,重启docker服务就可以加载新的映射配置。该方法不会丢失容器中的数据,但是需要重启docker服务,需要重启同一宿主机上的其他容器。

示例

示例是修改Jenkins容器的映射端口,使用的是修改容器配置文件的方式来修改映射信息的。

查看容器信息

执行 docker ps 查看容器运行情况,50000端口当前是没有绑定映射端口的。
在这里插入图片描述

确定容器配置文件

首先我们需要找到 目标容器的配置文件目录,示例中 docker 的数据目录是修改过的,指向了/mnt/docker-data

示例容器目录在 /mnt/docker-data/containers/[containerId]
默认容器目录在 /var/lib/docker/containers/[containerId]

完整 containerId 可以通过 docker ps --no-trunc 查看

在目录中找到 hostconfig.json 文件,找到叫 PortBindings 的 key,可以需要修改 PortBindings 的值,修改前需要先把容器停掉,不停止修改配置的话,重启服务配置文件会被覆盖会之前的状态。
在这里插入图片描述

修改配置信息

修改容器配置 vi hostconfig.json
在 PortBindings 中补充需要的映射数据

{"8080/tcp":[{"HostIp":"","HostPort":"30002"}],"50000/tcp":[{"HostIp":"","HostPort":"30001"}]}

在这里插入图片描述

重启docker服务

systemctl restart docker

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐