docker运行中的容器新增映射端口

前言

偶尔会遇到容器运行到一半,发现需要映射新的端口出来,比如跑了个lnmp服务的容器,没把3306映射出来,导致外部没办法通过navicate连接管理。这时可以通过修改容器的配置文件来新增端口,但是操作时必须临时关闭docker服务。

介绍

查看指定容器的容器Id:
bash 复制代码
docker inspect lnmp |grep Id
关闭docker容器和docker服务
bash 复制代码
docker stop lnmp
systemctl stop docker
得到容器Id:

"Id": "d5104ec757b667d5647c61645674574734666af4dc990989f78e99b7",

进入配置目录
bash 复制代码
cd /var/lib/docker/containers/d5104ec757b667d5647c61645674574734666af4dc990989f78e99b7
修改hostconfig.json,在PortBindings中添加"3306/tcp",意为绑定端口:
bash 复制代码
"PortBindings":{
	"3306/tcp":[{"HostIp":"","HostPort":"3306"}],
 	"80/tcp":[{"HostIp":"","HostPort":"80"}]
 }
修改config.v2.json文件,在ExposedPorts中添加3306,意为暴露端口:
bash 复制代码
"ExposedPorts":{"3306/tcp":{},"80/tcp":{}}
启动docker服务和docker容器:
bash 复制代码
systemctl start docker
docker start lnmp

测试

1.使用docker ps,查看容器的port一栏是否出现3306

2.不确定直接修改配置文件后重启docker服务,是否可以(较少停机时间)。

相关推荐
Tim风声(网络工程师)32 分钟前
光功率计中的红光(光衰测试设备)的使用
运维·网络
修先生40 分钟前
Kubernetes Dashboard 官方图形面板国内安装
云原生·容器·kubernetes
ar012343 分钟前
AR电路巡检:让电力运维进入智能可视化时代
运维·人工智能·ar
2301_780789662 小时前
云服务器数据会泄露吗?怎么保护云服务器的数据
运维·服务器·tcp/ip·网络安全
2301_780789662 小时前
云服务器被黑能恢复吗?云服务器被黑的解决办法
运维·服务器·网络·安全·web安全
淘小白_TXB21963 小时前
头条百家采集改写发布软件用户使用手册
运维·服务器·头条采集·头条号采集·文章采集·头条采集软件
极客先躯3 小时前
高级java每日一道面试题-2025年12月07日-实战篇[Dockerj]-Docker daemon 的配置文件在哪里?常用的配置项有哪些?
java·docker·配置文件的实际位置·配置文件的格式规则·常用配置项全景与分类·配置如何生效·daemon 配置折射架构思维
渣渣灰95874 小时前
解决VMware上终端窗口太小问题
运维·服务器·经验分享
Tim风声(网络工程师)5 小时前
QoS (服务质量)和TE(流量工程)的区别
运维·网络
OpsEye5 小时前
企业监控避坑:别再把工具当体系!
运维·运维开发