当前位置: 首页 > 面试题库 >

如何使用Docker Compose v2使卷永久化

钮巴英
2023-03-14
问题内容

我意识到其他人也有类似的问题,但这使用的是v2撰写文件格式,对此我一无所获。

我想制作一个非常简单的测试应用程序以与MemSQL一起使用,但是之后无法使卷不被删除docker-compose down。如果我对Docker
Docs的理解正确,那么在未明确告知卷的情况下不应删除卷。一切似乎都可以正常工作,docker-compose up但是先下降然后再上升,所有数据都将从数据库中删除。

作为一种好的实践建议,我将单独的memsqldata服务用作单独的数据层。

这是我的docker-compose.yml:

version: '2'
services:
    app:
        build: .
        links:
            - memsql
    memsql:
        image: memsql/quickstart
        volumes_from:
            - memsqldata
        ports:
            - "3306:3306"
            - "9000:9000"
    memsqldata:
        image: memsql/quickstart
        command: /bin/true
        volumes:
            - memsqldatavolume:/data

volumes:
    memsqldatavolume:
        driver: local

问题答案:

这可以追溯到MemSQL的错误文档。memsql/quickstart容器中的MemSQL数据路径/memsql/var/lib/memsql独立安装(以及MemSQL文档中)不同,而且绝对/data不像有人告诉我的那样。



 类似资料:
  • 问题内容: 如何设置“ curl”以在终端中永久使用代理服务器? 问题答案: 您可以在〜/ .bashrc文件中创建别名: 另一个解决方案是使用(也许是更好的解决方案)文件(如果文件不存在,则创建它):

  • 问题内容: 在Debian服务器上,我安装了Node.js。我了解如何使用以下命令行从腻子启动应用程序: 并通过地址(IP和端口)访问它。 但是,一旦我关闭腻子,那我就无法到达地址了。 如何使Node.js应用程序永久运行? 如您所料,我是Linux和Node.js的初学者。 问题答案: 尽管其他答案解决了OP的问题,但它们都是过大的,不能解释为什么他或她遇到此问题。 关键是这一行,“我关闭油灰,

  • 在我们最近更新到MySQL5.6.27(来自Ubuntu repo)之后,这个选项现在起作用了。所以这似乎是以前版本的MySQL的一个问题。 通过对MySQL(5.6.20)的新升级,更新和插入将失败,除非我将sql-mode设置为no_engine_substitute。 多亏了这些文档,我可以从mysql终端运行以下操作,这就(暂时)解决了这个问题: 因此,我尝试通过编辑/etc/mysql/

  • 我正在制作一个应用程序,其中我有一个,其中包含一些固定元素,这些元素在应用程序创建后立即添加。 我想做的是,当按下时,会将一个元素添加到中,而当关闭它并再次启动它时,该新元素仍然保留。 此外,我还使用IndicatorView滚动查看RecyclerView的元素。当我用添加一些元素时,发生在我身上的问题是新元素被创建了,的大小增加了,但没有增加,并且我无法滚动查看添加的新元素,此外,当重新启动应

  • 我的docker组合文件有三个容器,web、nginx和Postgres。Postgres看起来是这样的: null