码迷,mamicode.com
首页 > 其他好文 > 详细

Docker基础七(数据卷管理)

时间:2020-09-10 22:31:25      阅读:26      评论:0      收藏:0      [点我收藏+]

标签:权限设置   image   div   lazy   管理   load   src   span   同步   

Docker 数据卷的使用场景; 复制宿主机文件到容器中,怎样创建数据卷, 以及数据卷的权限管理。

一、数据卷特点

    数据卷是一个可供一个或多个容器使用的本地文件目录,主要特性如下:

  1、数据卷可以在容器之间共享和重用
  2、对数据卷的修改会立即生效
  3、对数据卷的更新,不会影响镜像 4)数据卷默认会一直存在,即使容器被删除

    提示:数据卷的使用,类似于 Linux 下对目录进行 mount。

    1、使用场景

  1、程序目录
  2、程序日志
  3、集群数据目录

技术图片

2、数据卷操作

  从容器内拷贝文件到主机上
  1、语法:
  docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-

  将容器的/test.txt 拷贝到主机的 /tmp目录中

[root@master docker]# docker run --name c1 -it -h c1-test centos /bin/bash
[root@c1-test /]# echo 111111 > /test.txt  # 容器操作
[root@master ~]# docker cp c1:/test.txt /tmp
[root@master ~]# ls /tmp/test.txt
/tmp/test.txt
[root@master ~]# cat /tmp/test.txt
111111

  2、推送文件至容器/tmp 目录下,通过容器ID

[root@master ~]# echo  22222222 > ceshi.txt
[root@master ~]# docker cp ./ceshi.txt c1:/tmp
# 注意复制到容器中的文件与挂载本机的目录到容器有不同, 如果是挂载的模式,在本机目录写入文件
那么也会同步到容器, 如果是复制文件,则内容不会同步 
[root@c1-test /]# ls /tmp
ceshi.txt  ks-script-2n9owwnh  ks-script-xm1o5azb
[root@c1-test /]# cat /tmp/ceshi.txt          # 容器操作
22222222

  3 检查

[root@master ~]# docker attach c1 
或者
[root@master ~]# docker container exec -it c1 /bin/bash
[root@c1-test /]# ls /tmp
ceshi.txt  ks-script-2n9owwnh  ks-script-xm1o5azb
[root@c1-test /]# cat /tmp/ceshi.txt
22222222

    3、创建数据卷

  使用docker run 命令中使用-v 标识来给容器内添加一个数据卷,也可以在一次docker run 命令中, 多次使用-v 标识挂载多个数据卷。

数据卷的使用场景
1、创建一个新容器并挂载本地目录

# 将本地目录/mnt 挂载到容器的/mnt
[root@master ~]# echo  555555 > /mnt/555555.txt
[root@master ~]# docker run --name centos-mnt -it -v /mnt/:/mnt centos /bin/bash
[root@a8edb31a1c87 /]# ls /mnt
555555.txt
[root@a8edb31a1c87 /]# cat /mnt/555555.txt
555555
# 在宿主机/mnt 创建目录, 会在容器挂载目录中实时看到
[root@master mnt]# mkdir 555
# 容器查看
[root@a8edb31a1c87 mnt]# ls /mnt
555  555555.txt

    4、数据卷权限设置

  docker 默认情况下是对数据卷有读写权限,但是通过这样的方式让数据卷只读

[root@master ~]# docker run -it --name centos-ro -v /mnt:/mnt:ro centos /bin/bash
# 创建文件报错
[root@b62156d96de4 /]# cd  /mnt/
[root@b62156d96de4 mnt]# touch  111.txt
touch: cannot touch 111.txt: Read-only file syste

Docker基础七(数据卷管理)

标签:权限设置   image   div   lazy   管理   load   src   span   同步   

原文地址:https://www.cnblogs.com/lhanghang/p/13583051.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!