Docker Rancher 持久存储不工作

Docker Rancher persistent storage not working

我是 Rancher 和 Docker 的新手,我无法持久保存我的数据。

到目前为止我所做的是使用 Rancher/Cattle 我已经通过 UI 创建了一个 EC2 服务器并且有 运行 下面的 docker-compose.yml 文件,它成功激活了 mysql 服务。

我期望的是,一旦 stack/service 为 运行,即使 stack/service已被删除。我希望我应该能够在 EC2 服务器上找到该文件。这是一个正确的假设吗?

我可以确认,当我通过 Rancher UI 停止服务时,一旦我重新启动服务并登录到容器,我添加的任何文件都会保留。但是,当我删除堆栈并使用相同的 docker-compose.yml 文件在同一主机上重建它时,这些文件已被删除。

version: '2'
services:
   mysql:
     container_name: flask_mysql
     restart: always
     image: mysql:latest
     environment:
       MYSQL_ROOT_PASSWORD: 'test_pass' # TODO: Change this
       MYSQL_USER: 'test'
       MYSQL_PASS: 'pass'
     volumes:
      - my-datavolume:/var/lib/mysql
volumes:
  my-datavolume:
   driver: local

有什么建议吗?

您已经定义了一个堆栈范围的卷,它绑定到该特定堆栈并在您删除堆栈时被删除。如果你想让它存在于堆栈之外,你需要一个环境范围的卷:http://rancher.com/docs/rancher/v1.6/en/cattle/volumes/#environment-scoped-volumes