Docker Rancher永久存储器不能正常工作

问题描述:

我是Rancher和Docker的新手,我无法使数据持续存在。Docker Rancher永久存储器不能正常工作

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

我期待的是,一旦堆栈/服务正在运行,即使堆栈/服务已被删除,任何写入容器内的dir/var/lib/mysql的文件都将被保留。我期望我应该能够在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

+0

谢谢文森特,那完美的工作。 – teamerMan