docker运行容器远程挂载卷的方法

aobaxiaoli 2017-09-23

docker容器中卷的使用

docker运行容器远程挂载卷的方法

创建卷,卷本身有多种方式例如下面创建的几种:

下面是官方的基本步骤:

创建一个卷:
$ docker volume create my-vol
查看:

$ docker volume ls
local        my-vol
查看卷的详情:
$ docker volume inspect my-vol
[
  {
    "Driver": "local",
    "Labels": {},
    "Mountpoint": "/var/lib/docker/volumes/my-vol/_data",
    "Name": "my-vol",
    "Options": {},
    "Scope": "local"
  }
]
移除卷:
$ docker volume rm my-vol

接下来在此基础上需要用到卷驱动,具体步骤如下:

安装vieux/sshfs作为卷驱动

# 卷插件安装
$ docker plugin install --grant-all-permissions vieux/sshfs

创建一个卷

其中sshcmd和password表示远程主机挂载点、和ssh登录密码

docker volume create --driver vieux/sshfs \
 -o sshcmd=192.168.5.106:/home/xzg\
 -o password=xzg\
 sshvolume

使用已有镜像,创建容器

#查看已有镜像:
[root@localhost docker]# docker images
REPOSITORY     TAG         IMAGE ID      CREATED       SIZE
nginx        latest       da5939581ac8    7 days ago     108MB
#使用本地镜像创建容器 
docker run -d \
 -it \
 --name sshfs-container \
 --mount src=sshvolume,target=/app,type=volume,volume-driver=vieux/sshfs\
 da5939581ac8

进入容器中查看是否挂载成功

[root@localhost docker]# docker exec -it 228d13ee572a bash
root@228d13ee572a:/# ls
app bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@228d13ee572a:/# cd app/
root@228d13ee572a:/app# ls
a.txt docker

相关推荐