Docker中修改mysql容器端口映射
我本地有一个mysql,端口是3306,然后我用docker开启了一个mysql容器,端口还是3306,导致我用docker上的mysql的时候没法用,于是想到端口映射出了问题,就把docker上的mysql的端口修改一下。
·
一、问题描述:
我本地有一个mysql,端口是3306,然后我用docker开启了一个mysql容器,端口还是3306,导致我用docker上的mysql的时候没法用,于是想到端口映射出了问题,就把docker上的mysql的端口修改一下。
二、可解决问题:
(1) 在不删除现有容器的情况下, 修改原有容器的端口映射;
(2) 创建容器的时候指定了一个端口映射, 但是创建之后的容器存在多个端口映射;
三、解决方案:
1、停止容器
docker stop 容器id
2、停止docker服务
systemctl stop docker
3、修改这个容器的hostconfig.json(对应下面的文件1)的端口
cd /var/lib/docker/containers
vim hostconfig.json
找到 “PortBindings”,并且修改如下:(我把3306改成了3307)
"PortBindings":{"3306/tcp":[{"HostIp":"","HostPort":"3307"}]}
4.config.v2.json(对应文件2)里面也记录了端口,也要修改
找到 “Ports”,修改如下:(我把3306改成了3307)
"Ports":{"3306/tcp":[{"HostIp":"0.0.0.0","HostPort":"3307"}],"33060/tcp":null}
5.重启docker服务
systemctl start docker
6.重启mysql容器
docker start mysql容器名或mysql容器ID
更多推荐
已为社区贡献1条内容
所有评论(0)