logo头像

老陕小张学技术接地气

更改docker容器端口

方法一: 删除原有容器,重新建新容器

这个解决方案最为简单,将原来的容器删除,然后重新创建一个新的容器,并确保不再忘记设置端口映射。

bashCopy codedocker stop jenkins1
docker rm jenkins1

docker run -d --user=root -p 8989:8080 --name jenkins1 -v /home/xianyudoufu/jenkins_node:/var/jenkins_home jenkins/jenkins:2.289.3-centos

优缺点:

  • 优点是简单快捷,适用于测试环境。
  • 缺点是对于数据库镜像等需要重新配置的容器,重新建一个可能会比较繁琐。

方法二:修改容器配置文件,重启Docker服务

  1. 首先关闭Docker服务:
bashCopy code
systemctl stop docker
  1. 找到容器的配置文件路径:
bashCopy code
cd /var/lib/docker/containers
  1. 查看容器并找到要修改的容器ID:
bashCopy code
ls
  1. 修改容器中的 hostconfig.json 文件:
bashCopy code
vi /var/lib/docker/containers/{容器ID}/hostconfig.json

在文件中找到 PortBindings,修改端口信息,然后保存退出。

  1. 修改容器中的 config.v2.json 文件:
bashCopy code
vi /var/lib/docker/containers/{容器ID}/config.v2.json

检查并修改端口号,保存退出。

  1. 启动Docker服务:
bashCopy code
systemctl start docker

优缺点:

  • 优点是操作简单,没有副作用。
  • 缺点是需要重启整个Docker服务,可能会影响其他容器服务。

方法三:利用docker commit新构镜像

  1. 停止Docker容器:
bashCopy code
docker stop container01
  1. 提交容器的改动为新镜像:
bashCopy code
docker commit container01 new_image:tag
  1. 使用新生成的镜像重新启动一个容器:
bashCopy code
docker run --name container02 -p 80:80 new_image:tag

优缺点:

  • 优点是不会影响同一宿主机上的其他容器。
  • 缺点是管理起来相对混乱,不如方法二直观。

通过以上三种方法,你可以选择适合你需求的方式来修改正在运行的Docker容器的端口映射规则。

支付宝打赏 微信打赏

赞赏是不耍流氓的鼓励

评论系统未开启,无法评论!

-->