一、数据管理的作用

Docker中的数据管理主要实现以下的功能:

  1. Docker容器中产生的数据能持久化的存储到宿主机中。
  2. Docker容器和宿主机之间的数据共享。

二、数据卷的实现

# 挂载目录
$ docker run -dit --name [container name] -v [宿主机目录]:[容器目录] [image]
# 挂载文件
$ docker run -dit --name [container name] -v [宿主文件]:[容器文件] [image]

比如我们想用/tmp/container_share文件夹作为宿主机和容器之间的共享文件夹,那么可以通过以下命令来实现:

$ sudo docker run -dit --name myubuntu -v /tmp/container_share:/home/ubuntu/container_share ubuntu

如果在宿主机的container_share中新增一个文件,在容器的/home/ubuntu下也能看到这个文件。或者是在容器的/home/ubuntu下新增了文件,在宿主机的container_share中也能看到这个文件。

也可以共享文件,比如将宿主机/tmp/container_share/zhiliao.txt与容器中的/home/ubuntu/zhiliao.txt共享,那么在宿主机或者容器中修改这个文件内容,对方都能看到:

$ sudo docker run -dit --name myubuntu -v /tmp/container_share/zhiliao.txt:/home/ubuntu/zhiliao.txt hyubuntu /bin/bash