如何在多个容器之间共享数据

使用 VolumeNFS 数据卷

  • 查看远端NFS挂载点(如果提示命令未找到 请安装 nfs-utils)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@server docker]$ showmount -e 127.0.0.1
    Export list for 127.0.0.1:
    /yumc/app/nfs/docker/rabbitmq *
    /yumc/app/nfs/docker/mongo *
    /yumc/app/nfs/docker/mysql *
    /yumc/app/nfs/docker/redis *
    /yumc/app/nfs *
    /home/app/router/k2/opt *
    /home/app/router/mi3/opt *
    /home/app/nfs *
  • 创建 Volume

    1
    2
    3
    4
    5
    6
    docker volume create \
    --driver local \
    -o type=nfs \
    -o o=addr=127.0.0.1,rw \
    -o device=:/yumc/app/nfs/docker/mysql \
    mysql
  • 使用 Volume

    1
    2
    3
    4
    5
    6
    docker run -d \
    --name MySQL \
    -p 3306:3306 \
    -e MYSQL_ROOT_PASSWORD=root \
    -v mysql:/data
    mysql:5.7

使用 sshfs 插件

  • 安装 sshfs 插件 如果是DockerSwarm记得每个节点都得安装

    1
    docker plugin install --grant-all-permissions vieux/sshfs
  • 创建 Volume

    1
    2
    3
    4
    docker volume create --driver vieux/sshfs \
    -o sshcmd=root@127.0.0.1:/home/sshfs \
    -o password=123456 \
    sshfs
  • 使用 Volume

1
2
3
4
5
6
docker run -d \
--name MySQL \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=root \
-v sshfs:/data
mysql:5.7