标签:共享数据 drive lang 备份 miss 掌握 demo docker 登陆
docker数据卷应用场景数据覆盖问题
这两个规则都非常重要,灵活利用第一个规则可以帮助我们初始化数据卷中的内容。掌握第二个规则可以保证挂载数据卷后的数据总是你期望的结果。
$ docker volume create my-vol
$ docker run -d -p 80:80 -name webserver # -v my-vol:/webapp
--mount source=my-vol, target=/webapp nginx:latest
除了使用--volume(-v)挂载数据卷,现在docker提供了更强大的--mount选项来管理数据卷。mount选项可以通过都好分隔的多个键值对一次提供多个配置项,因此mount选项可以提供比volume选项更详细的配置:
除了默认的把数据卷中的数据存储在宿主机,docker还允许我们通过指定volume driver的方式把数据卷中的数据存储在其它地方,比如Azru Storage 或 AWS 的S3。
简单起见,我们接下来的demo演示如何通过演示如何通过vieux/sshfs驱动把数据卷的存储在其它的主机上。
docker默认时不安装vieux/sshfs插件的,我们可以通过下面的命令进行安装
$ docker plugin install --grant-permissions vieux/sshfs
然后通过vieux/sshfs创建数据卷,并指定远程主机的登陆用户名,密码和数据存放目录
$ docker volume create --driver vieux/sshfs -o sshcmd=nick@192.168.0.1:/home/nick/sshvolume -o password=yourpassword mysshvolume
注意,请确保你指定的远程主机上的挂载点目录是存在的(demo中是/home/nik/sshvolume), 否则在容器启动时会报错。
最后,在启动容器时指定挂载这个数据卷
$ docker run -d --name sshfs --mount type=volume,volume-driver=vieux/sshfs, source=mysshvolume, targe=myworld ubuntu /bin/bash
$ docker run -d -p 80:80 --name webserver --mount type=bind,src=/data/docker,dst=/usr/share/nginx/html nginx
标签:共享数据 drive lang 备份 miss 掌握 demo docker 登陆
原文地址:http://blog.51cto.com/idweb/2322087