0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

docker-compose.yml の mem_limit が反映されたか確認する方法

Posted at

はじめに

docker-compose.ymlmem_limit を変更したとき、

  • 本当に反映されている?
  • docker stats って何が分かるの?

といったところで詰まったので、備忘録としてまとめる。

想定ケース

mem_limit: 1g # 変更前
mem_limit: 10g # 変更後

前提(重要)

docker-compose.yml を変更しただけでは
すでに起動中のコンテナには反映されない

→ コンテナの作り直しが必要

$ docker compose down
$ docker compose up -d

※ 設定変更のみなら -v は不要

設定変更が反映されていることを確認する方法

1. mem_limit を正確に確認する(docker inspect)

  • docker inspect とは?
    Docker によって管理されている構築物の詳細情報を表示するコマンド
# メモリ制限(バイト単位)を確認
$ docker inspect myapp-web-1 --format='{{.HostConfig.Memory}}'

10737418240

10737418240バイト(10g)が表示されていれば正常に反映されている。

2. 起動中コンテナのリソース使用状況から設定変更が反映されていることを確認する方法

  • docker stats とは?
    起動中コンテナのリソース使用状況をリアルタイムで確認できるコマンド
$ docker stats

出力例
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM %
a1b2c3d4e5f6 myapp-web-1 0.35% 512MiB / 10GiB 5.0%

LIMIT が 10GiB になっていれば mem_limit は反映済み

docker inspect と docker stats の使い分け

コマンド 役割
docker inspect 設定値をバイト単位で正確に確認
docker stats 実際に効いている制限と使用状況を確認

安全な確認手順

$ docker compose down
$ docker compose up -d
$ docker ps
$ docker inspect myapp-web-1 --format='{{.HostConfig.Memory}}'
$ docker stats
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?