修改运行中的docker容器的端口映射(简单、高效)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
    • 查看已经存在容器id
    • 关闭docker服务,修改配置文件
    • 结束,启动容器


前言

在docker run创建并运行容器的时候,可以通过-p指定端口映射规则。但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改。当docker start运行容器后并没有提供一个-p选项或设置,让你修改指定端口映射规则。

优缺点:这个方法的优点是没有副作用,操作简单。缺点是需要重启整个docker服务,如果在同一个宿主机上运行着多个容器服务的话,就会影响其他容器服务。


提示:以下是本篇文章正文内容,下面案例可供参考

通过这个方式处理的,亲测有效。前提需要停止docker。1分钟

查看已经存在容器id

#查看容器id
docker ps -a

在这里插入图片描述
此时需要记住要修改的容器id前几位即可

关闭docker服务,修改配置文件

#关闭docker服务
systemctl stop docker

关闭之后,找到容器的配置文件路径,通常都是安装在这个路径下方

cd /var/lib/docker/containers

ls 查看可以对应上

如果找不到安装的docker位置,可以通过find全局查找

find / -name docker

修改运行中的docker容器的端口映射(简单、高效)_第1张图片

进入需要修改容器的id目录中,查看内容

[root@localhost f59526....]# ls
checkpoints  config.v2.json  f595262...bc-json.log  hostconfig.json  hostname  hosts  mounts  resolv.conf

在这里插入图片描述

修改容器中的 hostconfig.json 文件

vim hostconfig.json 

在这里插入图片描述

修改该端口映射关系,增删改查

#json格式展示

"PortBindings": {
  "22/tcp": [
    
  ],
  "80/tcp": [
    {
      "HostIp": "",
      "HostPort": "9980"
    }
  ]
}

完成后,退出保存

按下  ESC    --->   :wq

结束,启动容器

#启动容器
systemctl start docker

你可能感兴趣的:(容器化,docker,容器)