关于DOCKER启动后如何添加新的端口映射

前段时间在用docker部署服务的时候发现,容器已经启动,但是需要新的端口映射(即容器在启动的时候只进行了部分的端口映射 ),经过查询资料后发现现在网上有2种方法,一中是修改json文件另一种是将已经运行的容器打包成一个新的镜像,然后基于打包后的镜像来在启动容器的时候开启全部的端口映射。但是经过我的测试发现第一种修改json文件的方式好像会重置容器。

方法一

停止docker服务

复制代码
systemctl stop docker

修改json文件,一般要修改的文件在/var/lib/docker/containers/下,找到要修改的容器然后进入目录即可看到hostconfig.jsonconfig.v2.json

  • **config.v2.json:**Docker容器的配置文件之一,包含了容器的配置信息,如环境变量、端口映射、卷挂载点等。版本2表示这是Docker引入新配置格式后的文件。

  • **hostconfig.json:**另一个重要的Docker容器配置文件,包含了容器的主机配置信息,比如网络模式、资源限制(如CPU份额和内存限制)、重启策略等。

按照格式添加端口即可

启动docker服务

复制代码
systemctl stat docker

经过这种方式修改后确实会添加新的端口映射,但是容器也好像会被重置 。除了这个问题因为这种方式还涉及到了docker的启停,若是容器过多的话会影响到别的业(不推荐)

方法二

将容器打包成镜像,然后基于打包后的镜像来在启动容器的时候开启全部的端口映射即可


若是还有别的方法或者文章中有错误的话请指出!!!

相关推荐
毕竟是shy哥33 分钟前
vs code连接远程服务器docker环境及配置免密登录
服务器·docker·vs code
IT大白鼠39 分钟前
Ingress 与 Ingress-Controller:K8s 七层 HTTP 反向代理技术详解与实践
http·容器·kubernetes
新时代牛马2 小时前
Linux VFS 完整篇:从path_openat、dentry/inode 到page cache 与挂载排障
linux·运维·服务器
java_logo2 小时前
Docker 部署 Rocky Linux:轻松搭建 RHEL 兼容企业级基础镜像平台
linux·docker·容器·rocky linux·基础镜像·轩辕镜像·rhel 兼容
cloudfantasy3 小时前
docker直接二进制安装,非编译。KylinV10SP3 aarch64有效
运维·docker
新时代牛马4 小时前
Linux 驱动中断与定时完整篇:从 request_threaded_irq 到hrtimer 选型与排障
linux·运维·服务器
考虑考虑4 小时前
nginx打印请求日志
运维·后端·nginx
数字补给站5 小时前
Windows 10 + Hyper-V + Terraform + cloud-init:批量产出 3 台 Ubuntu 的实践笔记
运维·ai编程
M--Y6 小时前
Docker数据持久化与网络架构
网络·docker·架构
鹤落晴春8 小时前
【K8s】认识Kubernetes API:从CRD出发的一次梳理
云原生·容器·kubernetes