Docker-Add-New-Volume

在docker容器上添加新的映射卷

解决方案

方案1
把容器保存为镜像,然后用-v参数添加新的卷。这个方式比较麻烦,建议不用
方案2
停止容器,直接修改容器配置文件

1、停止容器

# docker stop 容器名称

2、停止docker服务

如果不停止服务的话,修改配置文件会被docker重新覆盖,无法使文件生效,如果手足够快也可以,但是几乎是不可能的

# systemctl stop docker

3、修改配置文件

配置文件在/var/lib/docker/containers目录,要注意检查自己想修改容器的ID,与子目录的名称是匹配的,要修改两个配置文件,如下

# vi /var/lib/docker/containers/容器ID/config.v2.json
    "MountPoints": {
        "主机路径": {
            "Source": "主机路径",
            "Destination": "容器路径",
            "RW": true,
            "Name": "",
            "Driver": "",
            "Type": "bind",
            "Propagation": "rprivate",
            "Spec": {
                "Type": "bind",
                "Source": "主机路径",
                "Target": "容器路径"
            }
        }
    }

# vi /var/lib/docker/containers/容器ID/hostconfig.json
    "Binds": [
        "主机路径:容器路径"
    ],

要注意标题符号呀,切记切记

4、重启docker服务

# systemctl start docker

5、启动容器

# docker start 容器id
Contents
  1. 1. 在docker容器上添加新的映射卷
    1. 1.0.1. 解决方案
    2. 1.0.2. 1、停止容器
    3. 1.0.3. 2、停止docker服务
    4. 1.0.4. 3、修改配置文件
    5. 1.0.5. 4、重启docker服务
    6. 1.0.6. 5、启动容器
|