docker 修改映射的端口号
启动容器是没有设置映射的端口号
1、停止正在运行的容器和docker 服务
#docker stop centos-mysql
#systemctl stop docker (一定要停止,光停止容器无效)
2、查看容器的id
#docker ps -a --no-trunc
3、进入容器目录
#docker info | grep "Docker Root Dir"
#cd 容器目录
4、修改容器的hostconfig.json文件中的端口(如果config.v2.json里面也记录了端口,也要修改)
#vi hostconfig.json
添加信息:
"3306/tcp":[{"HostIp":"","HostPort":"3306"}]
3306/tcp:是容器端口, HostPort":"3306:是宿主机端口。修改现有端口映射直接把端口号改掉就行。
#docker inspect 容器id | grep Port
发现 Ports没有信息,config.v2.json也要修改
如果添加新的其他映射端口,config.v2.json文件需要进行填写容器内的映射端口
config.v2.json添加下面的信息
"ExposedPorts":{ "80/tcp":{ },"3306/tcp":{ },"XXXX/tcp":{ }}
"Ports":{"3306/tcp":{ },null}
不建议添加,问就是修改了config.v2.json后容器挂了,起不来
5、重启docker服务
6、重启容器
有修改成功的大佬不?
最后是重新启动了个新的容器,启动的时候直接映射端口号
转载请记录来源!!!!
https://www.cnblogs.com/leihongnu/