Docker(3)—容器数据卷
Docker(3)—容器数据卷
Docker容器中产生的数据同步到本地。将我们容器内的目录挂在到Linux上面。可以实现容器数据的持久化和同步操作。
方式一:使用命令 -v
docker run -v 主机目录:容器内目录
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root --name mysql01 mysql:5.7
# 匿名挂载
-v 容器内路径
# 具名挂载
-v 卷名:容器内路径
# 指定路径挂载
-v /服务器路径:容器内路径
# 所有docker容器内的数据卷,没有指定目录的情况下默认放在 /var/lib/docker/volumes/xxx/_data 下
方式二:DockerFile docker build
- 创建docker-volume目录
- 创建dockerfile01文件,并编辑
FROM centos
VOLUME ["volume01","volume02"]
CMD echo "-----end-----"
CMD /bin/bash
- 执行docker build命令
[root@yinrz docker-volume]# docker build -f dockerfile01 -t yinrz_centos .
Sending build context to Docker daemon 2.048kB
Step 1/4 : FROM centos
---> 831691599b88
Step 2/4 : VOLUME ["volume01","volume02"]
---> Running in 5f4f9dc49211
Removing intermediate container 5f4f9dc49211
---> 62dd49636edb
Step 3/4 : CMD echo "-----end-----"
---> Running in 7110d0cc8a0a
Removing intermediate container 7110d0cc8a0a
---> 8bb200283fb0
Step 4/4 : CMD /bin/bash
---> Running in 2cfffc6415e1
Removing intermediate container 2cfffc6415e1
---> 6a58ed96e546
Successfully built 6a58ed96e546
Successfully tagged yinrz_centos:latest
- docker run 启动容器
- docker inspect 查看启动的容器,成功挂载

数据卷容器
容器间也可以数据共享。--volumes-from
# 多个mysql实现数据共享
docker run -d -p 3310:3306 -v /etc/mysql/conf.d -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -name mysql01 mysql:5.7
docker run -d -p 3310:3306 -e MYSQL_ROOT_PASSWORD=123456 -name mysql02 --volumes-from mysql01 mysql:5.7

浙公网安备 33010602011771号