Docker添加多个数据卷的方法

1. 单个添加

以官方centos镜像为例,Docker 添加数据卷(Data Volumes)的基本命令为:

[root@CentOS ~]# docker run -it -P --name volume_test -v /host_folder:/container_folder/inner_folder centos /bin/bash

其中,/host_folder为宿主机的文件夹,需要提前mkdir建好;
/container_folder/inner_folder为容器内文件夹,运行命令后会自动创建,注意其是可以递归创建的;
另外宿主机的文件可以省略,其缺省路径在/var/lib/docker/volume下, 可以用docker inspect 容器 命令查看具体路径,但由于其生成的文件夹名是随机的,不方便区别和使用,所以一般情况下不建议省略宿主机文件。

2.多个添加

同时添加多个数据卷的方式也简单粗暴,即添加多个-v即可:

[root@CentOS ~]# docker run -it -P --name volume_test -v /host_folder_1:/container_folder_1 \ 
-v /host_folder_2:/container_folder_2:ro \
-v /host_file:/container_file centos /bin/bash

每个数据卷互不影响,可以为不同的权限,不同格式,利用文件数据卷的方式还可以轻松同步容器里的.bash_history等记录型文件。

宿主机器执行inspect命令:

[root@CentOS ~]# docker inspect volume_test

可以在Json串中的Mounts以及HostConfig下的Binds看到相应的数据卷信息:

        "HostConfig": {
            "Binds": [
                "/host_folder_1:/container_folder_1",
                "/host_folder_2:/container_folder_2:ro",
                "/host_file:/container_file"
            ],
            ...
            }
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/host_folder_1",
                "Destination": "/container_folder_1",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/host_folder_2",
                "Destination": "/container_folder_2",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/host_file",
                "Destination": "/container_file",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ]

表明多个数据卷的同时添加已经生效。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值