Docker Rancher永久存储不起作用

我是Rancher和Docker的新手,我无法使数据持续存在。

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

我期望的是,一旦堆栈/服务正在运行,即使堆栈/服务已被删除,任何写在容器内的dir / var / lib / mysql的文件都将被持久化。 我期望我应该能够在EC2服务器上find文件。 这是一个正确的假设吗?

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

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 

有什么build议么?

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