docker-撰写不遵守 CPU 限制

docker-compose not honoring CPU limits

我是 docker 的新手,我正在尝试 运行 一些 minecraft 容器,但是它们似乎没有遵守 cpu 限制环境。正如您在注释掉的部分中看到的那样,我也尝试过使用 v3。无论我设置什么限制,容器都会在 docker 统计信息中显示高达 400% cpu 的使用率。它是一个由 Oracle 托管的 4cpu 虚拟机,运行宁 Ubuntu。

是否有任何其他方式来执行此限制?

---
version: "2.4"
#version: "3.9"
services:
  mc-cl:
    container_name: mc-crimson
    image: itzg/minecraft-server:java11
    ports:
      - 25566:25565
    volumes:
      - ./data:/data
    environment:
      - TYPE=PAPER
      - VERSION=1.15.2
      - EULA=TRUE
      - MEMORY=1536M
      - GID=1001
      - UID=1001
      - USE_AIKAR_FLAGS=true
    cpus: 1
    mem_limit: 3072M
    mem_reservation: 3072M
#    deploy:
#      resources:
#        limits:
#          cpus: '1'
#          memory: 3072M
#        reservations:
#          cpus: '0.5'
#          memory: 3072M
    restart: unless-stopped

如果有帮助,这是我的 docker 版本和 docker 撰写版本。

Client: Docker Engine - Community

Version: 20.10.12
API version: 1.41
Go version: go1.16.12
Git commit: e91ed57
Built: Mon Dec 13 11:44:28 2021
OS/Arch: linux/arm64
Context: default
Experimental: true

Server: Docker Engine - Community

Engine:
Version: 20.10.12
API version: 1.41 (minimum version 1.12)
Go version: go1.16.12
Git commit: 459d0df
Built: Mon Dec 13 11:43:05 2021
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.4.12
GitCommit: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
runc:
Version: 1.0.2
GitCommit: v1.0.2-0-g52b36a2
docker-init:
Version: 0.19.0
GitCommit: de40ad0

Docker Compose version v2.2.2

所以我已经设法解决了我自己的问题。我有一个想法,所以我通过删除 docker compose v2 (yaml v3) with

来做到这一点
rm ~/.docker/cli-plugins/docker-compose

并使用

从存储库安装 docker-compose v1.25.0
apt install docker-compose -y

当 运行 容器时,现在将遵守限制。