バージョン 3 で指定されたサービスに対して CPU とメモリの制限を指定できません。
バージョン 2 では、サービス下のmem_limit
&パラメータで正常に動作します。しかし、バージョン 3 を使用すると失敗します。swarm モードを使用しているのでない限り、セクションの下にパラメータを置くことは意味がないようです。cpu_shares
deploy
誰か助けてくれませんか?
version: "3"
services:
node:
build:
context: .
dockerfile: ./docker-build/Dockerfile.node
restart: always
environment:
- VIRTUAL_HOST=localhost
volumes:
- logs:/app/out/
expose:
- 8083
command: ["npm","start"]
cap_drop:
- NET_ADMIN
- SYS_ADMIN
ベストアンサー1
このトピックは少し古くて古臭いように思われますが、とにかくこれらのオプションを使用することができました:
deploy:
resources:
limits:
cpus: '0.001'
memory: 50M
docker-compose 3.7 バージョンを使用する場合
私の場合、次のコマンドを使うのが役に立ちました:
docker-compose --compatibility up
--compatibility
フラグの意味は次のとおりです (ドキュメントより抜粋):
設定されている場合、Compose は v3 ファイルのデプロイキーを Swarm 以外の同等のものに変換しようとします。
docker-compose ファイルを v2 に戻す必要がないのは素晴らしいと思います。