|问题背景

docker run -d -p 9999:8080 -i --name tomcat7 tomcat:7创建容器时,指定了端口映射(-p)

如果容器运行之后发现端口需要改怎么办?

当前是访问 9999 端口

|删除原有容器,重新创建新的容器

|删除容器

docker rm -f 容器ID/名字

|重新创建容器

docker run -d -p 8888:8080 -i --name tomcat7 tomcat:7

重新指定需要映射的端口

|优点

简单粗暴,在测试环境用的更多

|缺点

如果是数据库、服务器相关的容器,创建新的容器,又得重新配置相关东西了

|修改容器配置文件(重点)

|暂停 Docker 服务

systemctl stop docker

|进入 Docker 容器配置文件目录下

cd /var/lib/docker/containers/ls

|进入某个容器的配置文件目录下

容器ID 就是文件夹名称,可通过 docker ps -aq 来查看,不过这是缩写,对照起来看就行

cd c614b6db4aed0c8d0c742baa09ff4e2c24761703586460b68633d7b66e62c633ls

|修改 hostconfig.json

vim hostconfig.json

输入 / ,搜索映射的端口(9999)

修改端口值就行了

修改完后 :wq 退出并保存此文件

|重新启动 Docker 服务

systemctl stop dockerdocker start tomcat7docker ps

访问 8888 端口没问题!

|注意有些文章会写到还需要改 config.v2.json 里的端口,但实操了一遍并不需要

|优点

直接操作配置文件没有副作用,算简单

|缺点

需要暂停 Docker 服务,会影响其他正常运行的 Docker 容器

|使用 docker commit 命令

|停止 Docker 容器

docker stop tomcat7

|使用 commit 构建新镜像

docker commit tomcat7 new_tomcat7docker images

|使用新镜像重新创建一个 Docker 容器

docker run -d -p 8888:8080 -i --name tomcat77 new_tomcat7 docker ps

|修改新容器的名字

如果新容器想用回旧容器的名字,需要先删了旧容器,再改名

docker rm -f tomcat7 docker rename tomcat77 tomcat7 docker ps

|优点无需停止 Docker 服务,不影响其他正在运行的容器

旧容器有的配置和数据,新容器也会有,不会造成数据或配置丢失,对新旧容器都没有任何影响

|缺点

需要生成新的镜像和容器,管理镜像和容器的时间成本会上升

|修改主机 iptables 端口映射

网上很多文章都有这个方法,但是我实操了一遍是不行的,不知道是不是步骤错了,哪位大佬知道可否说一声捏

参考与感谢

来源:博客园

docker 改host_所以到底该如何修改 docker 容器的端口映射!!!相关推荐

  1. docker容器增加端口映射最佳实践(修改配置文件方式)

    前言: 在日常的docker运维中,经常遇到这样一个问题:已经配置好且运行的docker容器要根据业务需要增加端口映射到宿主机,如何简单有效的解决呢? 下面以mysql容器为例,详细说明操作步骤. 一 ...

  2. Docker添加或者更改容器的端口映射

    QUESTION:Docker添加或者更改容器的端口映射? ANSWER: 初学Docker容器,按照教程的基本命令,拉取创建了几个容器,都是在一开始新建的时候 docker  run -p 指定对应 ...

  3. 解决Windows下无法对docker容器进行端口映射的问题

    解决Windows下无法对docker容器进行端口映射的问题 在安装了一个Windows下安装了docker,并尝试在其中运行Nginx服务,但映射完毕之后,在主机的浏览器中,打开localhost: ...

  4. 解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题

    解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题 参考文章: (1)解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题 (2)https://www.cnblogs. ...

  5. 解决windows系统无法对docker容器进行端口映射的问题

    解决windows系统无法对docker容器进行端口映射的问题 参考文章: (1)解决windows系统无法对docker容器进行端口映射的问题 (2)https://www.cnblogs.com/ ...

  6. docker(8):docker容器的端口映射

    docker(8):docker容器的端口映射 cker的端口映射,能保证在外部网络 访问 同一设备上不同容器时候 不会因为端口问题产生冲突. docker 可将容器对外提供服务的端口映射到 host ...

  7. Docker容器设置端口映射的方法

    概念 Docker 端口映射即映射容器内应用的服务端口到本机宿主机器. #实现 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过 -P 或 -p 参数两种方式来指定端口映射. 1.随机映射 ...

  8. docker 镜像修改的配置文件自动还原_所以到底该如何修改 docker 容器的端口映射!!!...

    |问题背景 docker 创建容器时,指定了端口映射(-p) 如果容器运行之后发现端口需要改怎么办? 当前是访问 9999 端口 |删除原有容器,重新创建新的容器 |删除容器 docker |重新创建 ...

  9. linux下修改docker容器RabbitMQ端口映射(修改RabbitMQ默认端口)

    1.xshell 执行以下命令获取docker容器ID docker ps -a 2.修改 /var/lib/docker/containers/{容器 ID+ 一些字符串}/hostconfig.j ...

最新文章

  1. 第六课.GNN的可解释性
  2. CentOS6:安装JDK
  3. 查找只有一个字母不相同的单词
  4. 对移动APP开发的需求分析的观点及见解
  5. error response from daemon_Scrapy 框架-模拟登录-Request、Response
  6. 针对当前项目SLED存在短缺XX天
  7. zstack信道_Zigbee信道原理
  8. 关于redis内存分析,内存优化
  9. CentOS随笔 - 4.CentOS7安装MySql 5.5.60(下载 tar 方式安装)
  10. Android实现仿IOS带清空功能的文本输入框
  11. java 读取字符串文件_Java读取文件为字符串
  12. 前端必知必会(一):vue3+node实现网站支付功能
  13. 爱普生Epson ME OFFICE 620F 一体机驱动
  14. window系统 任务计划程序
  15. Potree使用指南
  16. 硬件电路设计-FPGA(EP4CE6)最小系统
  17. 驾校预约系统mysql_基于jsp+mysql+Spring+mybatis的SSM驾校预约管理系统
  18. 魔百盒M302H-SM数码代工-卡刷固件-刷机包
  19. GGS节选:中欧有什么不同
  20. 制造企业如何做好数字化转型?| 推荐收藏

热门文章

  1. Hive 的窗口函数
  2. 漫步数学分析四——集合内部
  3. word实现文献引用2
  4. python函数可以按照参数名称方式传递参数_python函数传入参数(默认参数、可变长度参数、关键字参数)...
  5. 【Tensorflow】TF中的字符串tf.string
  6. 透视变换--图像拼接
  7. 【图像处理】透视变换 Perspective Transformation(含续加部分)
  8. MyBatis框架 动态SQL
  9. 三道小题带你了解SQL基本查询
  10. 【入门6】函数与结构体(今天刷洛谷了嘛)