如果在容器里,你有一些想要长久保存的数据,我们可以把它们放在一个 Data volumes 里面,可以翻译成数据卷 .. 或者数据盘 .. 在它们上面的数据,即使把容器删除掉也会被保留 ...
在创建容器的时候我们可以给它指定一下数据盘,其实就是去指定一个特定的目录,剩下的事儿 Docker 都为你做了 .. 下面我们去创建一个容器 .. docker run .. 加上一个 --volume .. 或者使用它的简写形式 .. 就是一个 -v ... 后面是一个目录的绝对路径 .. 这个目录就会作为一个数据盘 .. 这里我们设置成 /mnt
我们可以创建一个带交互的容器 .. 然后在容器里去创建一个文件,再删除掉这个容器,看看数据是否还会保留 .. 用一个 -i -t .. 给这个容器起个名字 .. 叫它 db .. 用的镜像是 centos .. 终端使用 bash ..
docker run -v /mnt -i -t --name=db centos bash
进入到容器的 /mnt .. 在它下面创建一个文件 .. touch data1 ... 再退出这个容器 .. exit ..
然后检查一下刚才我们创建的 db 这个容器 .. docker inspect db .. 找到 Mounts ..
这里,Source 的值就是我们给容器指定的数据盘在主机上的位置 .. Destination 的值是这个数据盘在容器上的位置 .. 复制一下 Source 的值 .. 在这个地方我们可以找到 db 这个容器的数据盘里面的数据 ..
再去把 db 这个容器删除掉 .. docker rm db
然后可以登录到 Docker 默认的这个机器上 .. 其实这个机器才是真正运行 docker 的地方 .. . docker-machine ssh default ..
查看一下这个目录 .. sudo ls .. 在这里,你会看到我们刚才在 db 这个容器里的数据盘上创建的这个 data1 这个文件 ... 虽然我们已经把这个容器删除掉了,但是它的数据盘里的数据仍然会保留在这里 ..