更改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服务
- 首先关闭Docker服务:
bashCopy code
systemctl stop docker
- 找到容器的配置文件路径:
bashCopy code
cd /var/lib/docker/containers
- 查看容器并找到要修改的容器ID:
bashCopy code
ls
- 修改容器中的
hostconfig.json
文件:
bashCopy code
vi /var/lib/docker/containers/{容器ID}/hostconfig.json
在文件中找到 PortBindings
,修改端口信息,然后保存退出。
- 修改容器中的
config.v2.json
文件:
bashCopy code
vi /var/lib/docker/containers/{容器ID}/config.v2.json
检查并修改端口号,保存退出。
- 启动Docker服务:
bashCopy code
systemctl start docker
优缺点:
- 优点是操作简单,没有副作用。
- 缺点是需要重启整个Docker服务,可能会影响其他容器服务。
方法三:利用docker commit新构镜像
- 停止Docker容器:
bashCopy code
docker stop container01
- 提交容器的改动为新镜像:
bashCopy code
docker commit container01 new_image:tag
- 使用新生成的镜像重新启动一个容器:
bashCopy code
docker run --name container02 -p 80:80 new_image:tag
优缺点:
- 优点是不会影响同一宿主机上的其他容器。
- 缺点是管理起来相对混乱,不如方法二直观。
通过以上三种方法,你可以选择适合你需求的方式来修改正在运行的Docker容器的端口映射规则。
赏
支付宝打赏
微信打赏


赞赏是不耍流氓的鼓励
评论系统未开启,无法评论!