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服务,是否可以(较少停机时间)。

相关推荐
nxb5561 小时前
haproxy算法,ip透传,自定义haproxy错误页面
运维·服务器
AKAMAI2 小时前
你的源服务器可能是你做出的最昂贵决定
运维·人工智能·云计算
Dxy12393102163 小时前
Linux 编译安装 Python 3.12.10(多版本共存,不破坏系统Python)
linux·运维·python
技术深耕者3 小时前
AI Agent从演示到生产:企业进入“自动化层”时代
运维·人工智能·自动化
w67820075 小时前
Prisma不能优雅的支持DTO,试试Vona ORM吧
linux·运维·ubuntu
APItesterCris5 小时前
Open Claw 实战教程:5 分钟搭建京东商品自动化监控与数据分析系统
大数据·运维·数据库·数据仓库·自动化
杨某不才7 小时前
如何能让Linux服务器对shell 终端 + sftp 文件传输长期保活
linux·运维·服务器
杨云龙UP7 小时前
生产环境Oracle表空间扩容实战:使用Toad for Oracle图形界面新增Datafile(ASM+OMF)
linux·运维·数据库·oracle·表空间·asm 存储管理·toad
三言老师8 小时前
文本工具组合统计服务器日志数据
linux·运维·服务器
m0_743697598 小时前
DNS服务器
运维·服务器