【问题标题】:How to replace memswap_limit in docker compose 3?如何替换 docker compose 3 中的 memswap_limit?
【发布时间】:2017-06-02 09:52:13
【问题描述】:

我的 docker-compose 文件(版本 2)中有 memswap_limit,我想在版本 3 上更改我的 docker-compose 文件。 但是我没有找到如何替换 memswap_limit。

我看到了类似“配置资源约束。这取代了 Compose 文件 3 之前的旧资源约束选项(cpu_shares、cpu_quota、cpuset、mem_limit、memswap_limit)。”

我的 docker-compose.yml 文件(版本 2)

db: image: postgres:alpine mem_limit: 512m memswap_limit: 512m

【问题讨论】:

  • @BlackVegetable 你是什么意思?那里没有提到memswap_limit
  • 啊,它提供了一个如何继续执行此操作的示例。您不能再直接提供memswap_limit。我并不是在提倡它是重复的,只是作为一个有用的参考。

标签: docker version docker-compose


【解决方案1】:

同意@BlackVegetable。更新到 V3 后 memswap_limit 不再存在,人们向 docker github 提交了票证,希望它能把它带回来。我只是做了一点调查,它仍然不受支持。

现在可能知道会有交换内存并检查 docker 容器,它会显示内存和交换内存

来自 Docker 网站:

如果--memory-swap 未设置,而--memory 已设置,则容器可以使用两倍于--memory 设置的交换空间,前提是宿主容器配置了交换内存。例如,如果 --memory="300m" 和 --memory-swap 没有设置,容器可以使用 300m 的内存和 600m 的交换空间。

或者您可以执行 docker run 命令而不是 docker compose。

【讨论】:

    【解决方案2】:

    看看这个(https://docs.docker.com/compose/compose-file/compose-versioning/#version-2x-to-3x),v3 中有一个新的资源部分,其中“内存”结合了旧的 mem_limit 和 memswap_limit。

    【讨论】:

    • 这接近于仅链接的答案。您愿意包含 yml 文件的示例部分吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2021-01-21
    • 1970-01-01
    • 2018-04-04
    • 1970-01-01
    相关资源
    最近更新 更多