分享主题:linux,nginx,php,mysql

docker已运行容器挂载目录,docker容器新添加绑定目录,docker ngix php容器添加挂载目录

docker教程 现在加入小程序俱乐部QQ群:483987340

客户需求总是多种多样的,
即使你最初想得再好再详细,
过一段时间后,
你的docker系统,架构或多或少会发生一些变化。

其中一个docker需求就是怎么在运行的容器里,
新增挂载目录,
下面子恒老师来详细讲讲…

一、 docker容器新添加绑定目录原理

docker容器的挂载信息,
保存在 /var/lib/docker/containers/ 各容器实例的下面两个文件中:
1) hostconfig.json
2) config.v2.json
在上面两个文件按照格式新增挂载信息,
就能在已经运行的容器实例中添加绑定目录。

docker挂载目录保存位置

二、 docker已运行容器挂载目录操作方法

我们以nginx容器为例做演示,
2-1) 查看正在运行的容器

docker ps

记下nginx容器id,和其它所有容器的id
假设nginx容器id为ef7XXXX

由于第三步要停止docker服务,
为了方便后面重启docker容器,
这里要把所有容器的id或名称记下来。

2-2) 关闭所有容器

docker stop $(docker ps -qa)

2-3) 停止docker服务

systemctl stop docker

我们的环境是contos 7,
使用上面的命令,
你根据自己的系统停止docker服务。

2-4) 修改nginx挂载目录配置文件

cd /var/lib/docker/containers/ef7XXXX/

其中 ef7XXXX 为nginx容器id
首先备份hostconfig.json,config.v2.json文件。

2-4-1) 修改hostconfig.json文件
hostconfig.json文件的 “Mounts” 是一个数组,
根据里面的格式新增一个元素,

{"Type":"bind","Source":"/docker/nginx/weixin","Target":"/usr/share/nginx/weixin"}

其中Source 表示宿主机路径,
Target 表示docker容器中的路径。

2-4-2) 修改config.v2.json文件
config.v2.json文件的 “MountPoints” 里保存了挂载的目录信息,
参照MountPoints已经挂载目录的格式,
新增一条挂载目录信息,

"/usr/share/nginx/weixixn":{
    "Source":"/docker/nginx/weixin",
    "Destination":"/usr/share/nginx/weixin",
    "RW":true,
    "Name":"",
    "Driver":"",
    "Type":"bind",
    "Propagation":"rprivate",
    "Spec":{"Type":"bind",
        "Source":"/docker/nginx/weixin",
        "Target":"/usr/share/nginx/weixin"
    },
    "SkipMountpointCreation":true
}

其中Source 表示宿主机路径,
Destination Target 表示docker容器中的路径,
实际的配置文件中,
上面的信息都是在一行里,
修改的时候要特别注意。

2-5) 启动docker服务

systemctl start docker

2-6) 启动docker容器
启动第一步中记录的容器。

2-7) 查看docker新挂载情况

docker inspect ef7XXX

如果你是使用docker的nginx php容器,
在nginx中容器中新增了挂载目录后,
一定要在php中新增相关路径的挂载目录,
否则nginx会报错找不到文件。

猛击这里
观看子恒老师《微信支付开发》系列视频
了解实现过程和下载相关源代码

声明:本文仅供交流学习 , 版权归属原作者,部分文章未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知QQ:58842997,我们会及时删除。
秦子恒公众号

来源:秦子恒博客,欢迎转载分享,请保留出处

docker已运行容器挂载目录,docker容器新添加绑定目录,docker ngix php容器添加挂载目录链接:https://www.qinziheng.com/docker%e6%95%99%e7%a8%8b/9342.htm

现在就加入微信开发QQ群2:483987340,跟同行探讨微信公众平台开发。群满就关闭,你得等到下一个群开通才能加入……

喜欢 (2)