docker修改运行中容器的端口映射
两种方法
一、docker commit
把一个容器的文件改动和配置信息commit到一个新的镜像。这个在测试的时候会非常有用,把容器所有的文件改动和配置信息导入成一个新的docker镜像,然后用这个新的镜像重起一个容器,这对之前的容器不会有任何影响。
1、停止docker容器
-
docker stop container01
2、commit该docker容器
-
docker commit container01 new_image:tag
3、用前一步新生成的镜像重新起一个容器
-
docker run --name container02 -p 80:80 new_image:tag
优缺点:这种方式的优点是不会影响统一宿主机上的其他容器,缺点是管理起来显得比较乱。
二、直接修改容器配置文件
注:这里很多人会发生修改重启后,配置文件恢复成未修改的状态,一定要先停止docker服务再修改,而不是停止容器再修改。
1、查询需要修改端口映射的容器ID
2、关闭docker
1 | service docker stop |
3、进入docker的container里面
1 | cd / var /lib/docker/containers/AAA |
这里 AAA 是 容器 ID
注意可能会没有权限
1 | chmod -R +wrx / var /lib/docker/containers/AAA |
4、更改两个文件
首先我需要的是打开docker内部的3306端口,映射到8086端口上
hostconifg.json
这里我需要添加容器内部的3306端口,外部是8086端口。
config.v2.json
修改两个地方,一个是Port,还有一个是Config.ExposedPort
5、最后打开docker
1 | service docker start |
吾生也有涯,而知也无涯。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2019-01-14 invocationCount和invocationTimeOut