资源描述
实验3:配置Docker容器数据卷 【实验内容】 本实验介绍如何挂载本地的目录到容器中,并设置读写规则,以及容器卷的继承。 【实验目的】 1、掌握容器数据卷的挂载 2、熟悉容器卷ro和rw读写规则 3、掌握卷之间的继承 【实验步骤】 步骤1 容器与宿主机互通互联 步骤2 容器卷ro和rw读写规则 步骤3 容器卷之间的继承 步骤1 容器与宿主机互通互联 直接命令添加,格式如下: docker run -it -v /宿主机目录:/容器内目录 ubuntu /bin/bash 实例如下: l 将容器内目录/tmp/myDockerData映射到宿主机/tmp/myHostData目录 docker run -it --name u1 --privileged=true -v /tmp/myHostData:/tmp/myDockerData ubuntu /bin/bash Ø 目录不存在的情况下会自动创建,分别在宿主机和容器中查看挂载目录,可以看到目录已经创建出来。 Ø Docker挂载主机目录访问如果出现cannot open directory .: Permission denied,在挂载目录后多加一个--privileged=true参数即可;如果是CentOS7安全模块会比之前系统版本加强,不安全的会先禁止,所以目录挂载的情况被默认为不安全的行为,在SELinux里面挂载目录被禁止掉了;如果要开启,我们一般使用--privileged=true命令,扩大容器的权限解决挂载目录没有权限的问题,也即使用该参数,container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限。 l 查看数据卷是否挂载成功 docker inspect 容器ID l 容器和宿主机之间数据共享 修改docker挂载目录内容,查看主机目录变化; 修改主机挂载目录内容,查看容器目录变化。 步骤2 容器卷ro和rw读写规则 (1) 读写 格式如下: docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:rw 镜像名 rw = read + write,默认就是rw。 实例如下: docker run -it --privileged=true -v /mydokcer/u:/tmp:rw ubuntu (2) 只读 容器实例内部被限制,只能读取不能写。/容器目录:ro 镜像名,就能完成功能,此时容器自己只能读取不能写。 实例如下: docker run -it --privileged=true -v /mydokcer/u:/tmp:ro ubuntu  ro = read only,此时如果宿主机写入内容,可以同步给容器内,容器可以读取到。 步骤3 容器卷之间的继承 (1) 容器1完成和宿主机的映射 docker run -it --privileged=true -v /mydocker/u:/tmp --name u1 ubuntu 创建文件u1_data.txt cd /tmp touch u1_data.txt (2) 容器2继承容器1的卷规则 docker run -it --privileged=true --volumes-from u1 --name u2 ubuntu
点击显示更多内容>>
收藏
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号