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

相关推荐
有时.不昰沉默9 分钟前
ubuntu 20.04 启动直接进入 tty1,而非 图形界面
linux·运维·ubuntu·tty1
济61713 分钟前
linux 系统移植(第七期)----U-Boot 图形化配置--添加自定义菜单-- Ubuntu20.04
linux·运维·服务器
杨浦老苏15 分钟前
轻量级自托管笔记与清单利器jotty·page
笔记·docker·markdown·todo·群晖
星陨7720 分钟前
OpenStack私有云平台API接口练习
linux·运维·网络·openstack
YongCheng_Liang20 分钟前
Docker 核心概念与价值详解:从理论到实战安装指南
运维·docker·容器
运维成长记30 分钟前
关于k8s和harbor脚本安装的一系列操作
云原生·容器·kubernetes
Kratzdisteln35 分钟前
【Linux】Docker容器中快速部署VNC远程桌面环境
linux·运维·docker
魔众41 分钟前
轻量级云文件系统simple-file-server,电脑秒变存储服务器
运维·服务器
咸鱼xxx1 小时前
N8N搭建Agent(Docker Desktop版本)
docker·ai·容器·agent·n8n
追光的孩子1 小时前
window服务器添加samwaf防火墙遇到的问题和解决方案
运维·服务器