对已有的docker容器添加新的目录映射, 端口映射,环境变量,dns等

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: docker容器已经建立并运行, 需要在已有容器上添加新的目录映射,端口映射,环境变量等

docker容器已经建立并运行, 需要在已有容器上添加新的目录映射,端口映射,环境变量等,我们该如何操作呢?


1. 查找并进入容器配置文件目录

sudobashdirRoot=$(docker info |grep Root|awk '{print $4}')dirHead=$(docker ps|grep postgres|awk  '{print $1}')cd$dirRoot/containers/$dirHead*

2. 停止docker服务

systemctl stop docker

3. 编辑config.v2.json 和hostconfig.json文件

使用vim编辑文件并格式化显示json

vim-c":%! python3 -m json.tool" config.v2.json
#vim -c ":%! python3 -m json.tool" hostconfig.json


3.1 添加新的目录映射

config.v2.json 中,输入: :/MountPoints  回车,  仿照如下格式进行添加

"/var/log": {
"Source": "/var/log",
"Destination": "/var/log",
"RW": true,
"Name": "",
"Driver": "",
"Type": "bind",
"Propagation": "rprivate",
"Spec": {
"Type": "bind",
"Source": "/var/log",
"Target": "/var/log"            },
"SkipMountpointCreation": false        },

hostconfig.json中,输入: /MountPoints  回车,  仿照如下格式进行添加

"/var/log:/var/log",

注意: 如果是数组最后一条记录,后面的 ,逗号都要去掉。

3.2 添加新的端口映射

config.v2.json 中,输入: :/Ports  回车,  在ExpossPorts中添加端口映射信息, 类似如下:

"ExposedPorts": {
"5432/tcp": {},
"1883/tcp": {}
 },

在Ports中添加端口映射信息, 类似如下:

"Ports": {
"5432/tcp": [
                 {
"HostIp": "0.0.0.0",
"HostPort": "5432"                  },
                 {
"HostIp": "::",
"HostPort": "5432"                 }
             ],
"1883/tcp": [
                 {
"HostIp": "0.0.0.0",
"HostPort": "1883"                  },
                 {
"HostIp": "::",
"HostPort": "1883"                 }
             ]
         },


hostconfig.json中,输入:: /PortBindings  回车,  仿照如下格式进行目录映射添加

"1883/tcp": [
            {
"HostIp": "",
"HostPort": "1883"            }
        ]


3.3 添加新的环境变量

config.v2.json 中,输入: :/Env  回车,  仿照如下格式进行环境变量添加

"Env": [
"APP=yourApp-*.jar",
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LANG=en_US.utf8",
"PG_MAJOR=13",
"PG_VERSION=13.5",
"PG_SHA256=9b81067a55edbaabc418aacef457dd8477642827499560b00615a6ea6c13f6b3",
"PGDATA=/var/lib/postgresql/data"        ],

3.4 添加DNS

hostconfig.json中,输入: :/Dns 回车,  仿照如下格式进行添加

"Dns": [ "114.114.144.114", "8.8.8.8" ],

其他配置的修改类似, 请自行测试验证。


4.重新启动docker服务

systemctl start docker
systemctl status docker


相关文章
|
1月前
|
安全 持续交付 Docker
Docker:重塑现代软件交付的容器引擎
Docker:重塑现代软件交付的容器引擎
|
1月前
|
存储 持续交付 Docker
Docker:轻量级容器技术重塑应用交付
Docker:轻量级容器技术重塑应用交付
|
1月前
|
Kubernetes Cloud Native 持续交付
Docker:轻量级容器化技术解析
Docker:轻量级容器化技术解析
|
1月前
|
运维 测试技术 Docker
Docker:轻量级容器化技术革命
Docker:轻量级容器化技术革命
|
10月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
265 2
|
6月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
628 29
|
6月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
182 4
|
6月前
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
6月前
|
移动开发 前端开发 JavaScript
从入门到精通:H5游戏源码开发技术全解析与未来趋势洞察
H5游戏凭借其跨平台、易传播和开发成本低的优势,近年来发展迅猛。接下来,让我们深入了解 H5 游戏源码开发的技术教程以及未来的发展趋势。