docker 改host_所以到底该如何修改 docker 容器的端口映射!!!
|问题背景
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 容器的端口映射!!!相关推荐
- docker容器增加端口映射最佳实践(修改配置文件方式)
前言: 在日常的docker运维中,经常遇到这样一个问题:已经配置好且运行的docker容器要根据业务需要增加端口映射到宿主机,如何简单有效的解决呢? 下面以mysql容器为例,详细说明操作步骤. 一 ...
- Docker添加或者更改容器的端口映射
QUESTION:Docker添加或者更改容器的端口映射? ANSWER: 初学Docker容器,按照教程的基本命令,拉取创建了几个容器,都是在一开始新建的时候 docker run -p 指定对应 ...
- 解决Windows下无法对docker容器进行端口映射的问题
解决Windows下无法对docker容器进行端口映射的问题 在安装了一个Windows下安装了docker,并尝试在其中运行Nginx服务,但映射完毕之后,在主机的浏览器中,打开localhost: ...
- 解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题
解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题 参考文章: (1)解决docker容器开启端口映射后,会自动在防火墙上打开端口的问题 (2)https://www.cnblogs. ...
- 解决windows系统无法对docker容器进行端口映射的问题
解决windows系统无法对docker容器进行端口映射的问题 参考文章: (1)解决windows系统无法对docker容器进行端口映射的问题 (2)https://www.cnblogs.com/ ...
- docker(8):docker容器的端口映射
docker(8):docker容器的端口映射 cker的端口映射,能保证在外部网络 访问 同一设备上不同容器时候 不会因为端口问题产生冲突. docker 可将容器对外提供服务的端口映射到 host ...
- Docker容器设置端口映射的方法
概念 Docker 端口映射即映射容器内应用的服务端口到本机宿主机器. #实现 当容器中运行一些网络应用,要让外部访问这些应用时,可以通过 -P 或 -p 参数两种方式来指定端口映射. 1.随机映射 ...
- docker 镜像修改的配置文件自动还原_所以到底该如何修改 docker 容器的端口映射!!!...
|问题背景 docker 创建容器时,指定了端口映射(-p) 如果容器运行之后发现端口需要改怎么办? 当前是访问 9999 端口 |删除原有容器,重新创建新的容器 |删除容器 docker |重新创建 ...
- linux下修改docker容器RabbitMQ端口映射(修改RabbitMQ默认端口)
1.xshell 执行以下命令获取docker容器ID docker ps -a 2.修改 /var/lib/docker/containers/{容器 ID+ 一些字符串}/hostconfig.j ...
最新文章
- 第六课.GNN的可解释性
- CentOS6:安装JDK
- 查找只有一个字母不相同的单词
- 对移动APP开发的需求分析的观点及见解
- error response from daemon_Scrapy 框架-模拟登录-Request、Response
- 针对当前项目SLED存在短缺XX天
- zstack信道_Zigbee信道原理
- 关于redis内存分析,内存优化
- CentOS随笔 - 4.CentOS7安装MySql 5.5.60(下载 tar 方式安装)
- Android实现仿IOS带清空功能的文本输入框
- java 读取字符串文件_Java读取文件为字符串
- 前端必知必会(一):vue3+node实现网站支付功能
- 爱普生Epson ME OFFICE 620F 一体机驱动
- window系统 任务计划程序
- Potree使用指南
- 硬件电路设计-FPGA(EP4CE6)最小系统
- 驾校预约系统mysql_基于jsp+mysql+Spring+mybatis的SSM驾校预约管理系统
- 魔百盒M302H-SM数码代工-卡刷固件-刷机包
- GGS节选:中欧有什么不同
- 制造企业如何做好数字化转型?| 推荐收藏