docker可以通过数据卷的概念进行主机与容器,容器与容器之间的数据管理,具体如下:

1、数据卷
数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射到容器。类似于linux的mount
数据卷可以在容器间共享和重用,
对数据卷内数据修改会立马生效,
对数据卷的更新不会影响镜像,
卷会一直存在,直到没有容器使用才可以安全卸载

2、创建数据卷
sudo docker volume create -d local test

使用sudo ls -l /var/lib/docker/volumes
查看数据卷位置

3、绑定数据卷
sudo docker run -d -P --name web --mount type=bind,source=/usr,destination=/opt/webapp training/webapp python app.py

推荐挂在文件目录而不是文件

4、数据卷容器
数据卷容器是专门提供数据卷给其他容器挂在的容器

5、创建数据卷容器
sudo docker run -it -v /dbdata --name dbdata ubuntu
把其他容器挂在到同一个数据卷相同的dbdata目录
sudo docker run -it --volumes-from dbdata --name db1 ubuntu
sudo docker run -it --volumes-from dbdata --name db2 ubuntu

6、备份数据
sudo docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata

7、恢复数据
sudo docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
sudo docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf /backup/backup.tar