LoginSignup
1
2

More than 1 year has passed since last update.

Container StationでPortainerを作成後、CPUリミットなどを設定すると起動に失敗する

Posted at

はじめに

QNAPのContainerStationでPortainerのコンテナを作成後、「CPUリミット」や「メモリー利用量」を変更すると、設定内容を適用するためのコンテナ再起動で、起動に失敗する。対症療法を示す。

本事象を確認した環境

  • ContainerStationのバージョンは、V2.6.0.483
  • Portainerのバージョンは、2.14.0

Container StationでPortainerのコンテナを作成

共有フォルダ設定.jpg

QNAPのContainerStationでPortainerのコンテナを作成する場合、「共有フォルダ」にDockerにSocket接続するための"/var/run/docker.sock"を設定しようとしても、フォルダツリーに現れず、直接入力もできないため、設定できない。

CLIで作成a.jpg

対処法を検索してみると、QNAPにssh接続してコマンドラインからコンテナを作成する手順が見つかる。

Socket接続.jpg

実際、この手順でコンテナを作成してみる。作成後、Portainerに接続して、"local"のパネルの右下を見ると、"/var/run/docker.sock"を介して接続していると表示される。

Container Stationで設定変更すると再起動に失敗

CPUリミットなどの設定.jpg

Container Stationでは、「設定」のパネルで、「CPUリミット」や「メモリー利用(量)」の設定ができる。先のCLIでのコンテナ作成では、この部分は"CPUは100%"、"メモリーは全量"の設定になっている。これを変更し、「適用」ボタンを押すと、コンテナは再起動される。

再起動に失敗a.jpg

実施すると再起動に失敗する。メッセージによるとdocker-composeに失敗しているようである。

対症療法

とりあえずの回避策としては、dockerへのSocket接続をAgent経由の接続に変更する。

agent作成a.jpg

QNAPにssh接続してコマンドラインから"portainer/agent"のコンテナを作成する。作成したAgentのコンテナは、Container Stationから「設定」の変更を行っても再起動に失敗しない。

要約.jpg

次いで、Container StationのGUIでPortainerのコンテナを再作成する。この時、ホストとの共有フォルダとして"/var/run/docker.sock"を指定しない(そもそもできないが)。

Agent接続.jpg

Portainerに接続して、"Environments"からDockerにAgent経由で接続する。"nas332x_arm64"がそれだがパネルの右下を見るとAgent経由で接続している。

コンテナ設定3.jpg

このPortainerコンテナは、Container StationのGUIで作成したものであり、「CPUリミット」や「メモリ利用(量)」などの設定を変更しても、変更内容適用のための再起動に失敗しない。

1
2
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
1
2