乐趣区

关于docker:Docker学习2数据卷

什么是容器数据卷

docker 概念
将利用和环境打包成一个镜像!
如果数据都在容器中,那么咱们容器删除,数据就会失落!
容器之间能够有一个数据共享的技术!Docker 容器中产生的数据,同步到本地!这就须要用到数据卷,也就是将咱们容器内的目录,挂载到 Linux 下面!

总结:容器的长久化和同步操作,容器间也能够数据共享的!

应用数据卷

间接命令挂载 -v

docker run -it -v 主机目录: 容器内的目录

# 启动后能够应用上面的命令查看挂载有没有胜利
docker inspect 容器 id 
# 能够在 Mounts 内查看

2. 测试
1. 在本地减少或者批改文件查看容器内有没有改变
2. 容器内减少或批改查看本机目录有没有同步改变

具名和匿名挂载

1. 匿名:只写容器内的路劲给,不写容器外的门路

-v 容器内门路
docker run -d -p --name nginx01 -v /etc/nginx nginx

# 查看所有卷的状况
docker volume ls
#发现 数据

# 

2. 具名

通过 -v 卷名:容器内门路
docker run -d -p --name nginx01 -v [卷名]:/etc/nginx nginx
# 查看卷
docker volume inspect 卷名

# 一旦设置了容器权限 容器对咱们挂在进去的容器就有限定了
ro readonly # 只读
rw readwrite # 可读写
docker run -d -p --name nginx01 -v [卷名]:/etc/nginx:ro nginx

docker run -d -p --name nginx01 -v [卷名]:/etc/nginx:rw nginx

Dockfile 挂载

1. 创立 Dockfile 文件

FROM nginx
# 匿名挂载
VOLUME ["test1", "test2"]
CMD echo "----end---"
CMD /bin/bash

2. 命令运行

# 构建镜像
docker build -f deockfile 所在目录 -t shuai/nginx:1.0 .

# 启动容器
docker run  

# 查看是否挂载胜利
退出移动版