Docker_5_数据卷
-
volume
-
数据同步,本地和镜像内文件目录中的文件保持一致
-
数据共享,镜像上的Mysql数据,同时使用本地Liunx上的文件
-
数据备份,镜像上的Mysql数据,保存到本地LIunx上,防止因为误删镜像导致数据丢书
-
具体实施是通过目录的挂载实现的
一:挂载
1:直接挂载
-
-v 命令
docker run -it -v /home/test:/home/bin/bash centos
docker 运行 交互模式 数据卷 本地目录: 镜像内文件目录 镜像名字
2:匿名挂载
docker run -it -v /home/bin/bash centos #匿名挂载
docker volume ls #查看卷
docker volume inspect 卷名 #查看卷的详细信息
3:具名挂载
docker run -it -v juming:/home/bin/bash centos #具名挂载
docker volume ls #查看卷
docker volume inspect 卷名 #查看卷的详细信息
-
权限
docker run -it -v juming:/home/bin/bash:ro centos #具名挂载-只读
#只可以在本地操作,容器只能查看
docker run -it -v juming:/home/bin/bash:rw centos #具名挂载-默认-可读可写
docker volume ls #查看卷
docker volume inspect 卷名 #查看卷的详细信息
4:DockerFile
mkdir /home/test
touch dockerfile
vim dockerfile
FROM centos
VOLUME ["volume01","volume02"]
CMD echo "----end----"
CMD /bin/bash
docker build -f dockerfile -t centos3 . #dockerbuild 理由文档和脚本构建自己的镜像
docker images
docker run -it centos3
ls
二:实例
-
mysql
docker run -d
-p 3306:3306
-v /home/mysql/conf:/etc/mysql/conf.d
-v /home/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456
--name mysql01
mysql
浙公网安备 33010602011771号