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

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

方法一

停止docker服务

复制代码
systemctl stop docker

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

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

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

按照格式添加端口即可

启动docker服务

复制代码
systemctl stat docker

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

方法二

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


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

相关推荐
陈希1231 小时前
负载均衡与高可用:LVS、HAProxy、Keepalived 实战
运维·负载均衡·lvs
SQL774 小时前
IT运维发展史,一部宏伟史诗
运维·运维发展史
分布式存储与RustFS6 小时前
Terraform 状态文件老在本地丢、并发还撞锁:把 state 锁进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
csdn_aspnet6 小时前
macOS 10 、Docker 玩轉 MySQL
运维·mysql·macos·docker·容器·mac
对象存储与RustFS7 小时前
Jenkins 的构建产物别堆在控制器磁盘:用 RustFS 当它的 S3 工件仓库
后端·docker·云原生
爱和冰阔落8 小时前
【Linux网络】TCP 半包粘包怎么解决?从长度报头、JSON 拆包到网络计算器完整实战
linux·运维·网络·tcp/ip
无奈笑天下19 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
威嵌神州1 天前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__1 天前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo1 天前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像