对视频p18—p21的摘抄
数据卷
Docker数据卷的作用:
- 对数据做持久化(有了数据卷可以防止数据丢失)
- 共享数据(docker cp是把数据从容器内拷贝到主机上,而有了数据卷,主机和容器就可以互通有无的共享数据)
容器内添加数据卷的两种方法:
- 直接命令添加
- DockerFile添加
1.直接命令添加
(1)docker run -it -v /宿主机绝对路径目录:/容器内绝对路径目录 镜像名
- 解释:-v中的v是volumn的缩写。
- 这个命令的含义就是将
宿主机的某个目录
和容器内的某个目录
进行关联,有了这层关联以后某一处发生了更改另一处也会发生一模一样的更改。 - 进一步,当你把容器停掉,对主机内的该目录进行修改,然后再次启动容器,容器内和宿主机关联的目录会同步更新吗?会的,所以很安全。
(2)docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名
- 解释:ro就是read-only,也就是说容器内的目录只读不可写
- 这个命令的含义就是将
宿主机的某个目录
和容器内的某个目录
进行关联,但是只允许主机
更改主机的那个目录然后容器内对应的目录也会发生更新,但是你对容器内的该目录不能进行写操作(你不能在容器内该目录下创建文件、写操作)
2. DockerFile添加
(1)根目录下新建mydocker文件夹并进入
(2)构建DockerFile
补充一下Volume的语法
(3)build后生成镜像
(4)run容器
数据卷共享
容器间传递共享--volumes-from