linux修改容器内的mysql端口映射_docker修改运行中容器的端口映射

本文介绍了两种在Linux环境下修改Docker容器内MySQL端口映射的方法:一是通过docker commit创建新镜像并启动新容器;二是直接修改容器配置文件。在直接修改配置文件时,需先停止Docker服务,修改hostconfig.json和config.v2.json后,再启动Docker服务。
摘要由CSDN通过智能技术生成

两种方法

一、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

docker inspect [OPTIONS] NAME|ID [NAME|ID...] OPTIONS说明 -f :指定返回值的模板文件。 -s :显示总的文件大小。 --type :为指定类型返回JSON。

3f351896a268f42cf12dfd21d6c4876d.png

2、关闭docker

service docker stop

3、进入docker的container里面

cd /var/lib/docker/containers/AAA

这里 AAA 是 容器 ID

注意可能会没有权限

chmod -R +wrx /var/lib/docker/containers/AAA

4、更改两个文件

首先我需要的是打开docker内部的3306端口,映射到8086端口上

hostconifg.json

8dc8e47b2f3820be1843a75975ff8ae5.png

这里我需要添加容器内部的3306端口,外部是8086端口。

config.v2.json

修改两个地方,一个是Port,还有一个是Config.ExposedPort

5df1f0e6651f9f12c72b5c570c3de7e1.png

d9c9dd0803079e7766e3775a45203587.png

5、最后打开docker

service docker start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值