51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Docker - 修改容器端口映射的方法

Docker 建立好容器后,配置并不容易修改,本文记录修改建立好的容器的端口映射的方法。

背景 {#背景}

  • 已经建立好了容器,配置了初始端口映射信息
  • 但是端口映射错了/多了/少了,需要调整容器的端口映射

具体方法 {#具体方法}

方法一 {#方法一}

  • 将当前容器通过 docker commit 命令生成镜像
  • 通过镜像重新建立容器,建立时使用正确的端口映射

好处是包治百病,正规途径

缺点就是过程繁琐,不够优雅

方法二 {#方法二}

端口映射等容器信息都是存在某个地方,通过配置文件管理的,我们仅需修改配置文件的端口信息即可完成改写

  • 以我当前的 nginx 容器为例
  • 查看需要修改的容器信息
  • 当前容器名称 nginx,CONTAINER ID5190850b4fcc
  • 当前端口映射了 9443:443,现在我要添加一个 9442:442 的端口映射
  1. 停止容器
  1. 停止 docker 服务
  1. 进入文件夹 /var/lib/docker/containers/{CONTAINER ID}

CONTAINER ID 容器相关的配置都在其 ID 对应的子目录里

  1. 当前目录文件

我们需要修改的是 hostconfig.jsonconfig.v2.json 两个文件

  1. 修改 hostconfig.json
  • 在查看内容时,可以发现 json 中 PortBindings 键值对应的内容即是端口映射
  • 当前内容(已经映射了 9443:443)
  • 此时再添加 9442:442,该部分内容变为
  1. 修改 config.v2.json
  • 同理在 ExposedPorts 键值下添加 442 端口
  • 如果NetworkSettings 下有端口信息也需要做相应修改
  1. 开启docker 服务
  1. 运行容器
  • 测试是否成功
  • 可以看到已经增加了端口映射

参考资料 {#参考资料}



文章链接:
https://www.zywvvd.com/notes/tools/docker/add-container-port/add-container-port/

赞(0)
未经允许不得转载:工具盒子 » Docker - 修改容器端口映射的方法