web-dev-qa-db-ja.com

docker-composeでmem_limitを使用できますか?そしてどうやって?

mem_limitはdocker-composeでサポートされていますか?どうすればテストできますか?

私は次を持っていますdocker-compose.yml

repository:
  image: myregistry/my_nginx_image
  mem_limit: 60m
  volumes:
    - /etc/localtime:/etc/localtime
  ports:
    - "80:80"

コンテナが実際に60 MBのRAMを超えていないことをどのように証明できますか?

私は使っている:

  • ドッカー1.3.1
  • docker-compose 1.1.0
47
montells

はい。メモリの制限はdocker-composeでサポートされており、メガバイトを表す「m」を使用して、例のように値を設定できます。

「docker stats」コマンドを使用して、Dockerコンテナを実行するために設定されているメモリ制限を確認できます。

コンテナ名が「repository_1」の場合、次のコマンドを使用します。

docker stats repository_1

この結果は、これと同様になります。

CONTAINER       CPU %    MEM USAGE/LIMIT    MEM %     NET I/O
repository_1    1.93%    4.609 MiB/60 MiB   7.20%     1.832 KiB/648 B
55
maniekq

fig documentation 、シンプル

mem_limit: 1000000000

十分なはずです。 「m」をドロップし、メガバイトではなくバイトを使用する必要があると思います。

5
noisy

昨年作成されたこの投稿で、リソース(CPUとメモリ)を制限するようにdockerを設定する方法と、制限をテストする方法を見つけることができます: resource-management-in-docker

0
kikicarbonell