web-dev-qa-db-ja.com

Docker上のJenkins-無料スワップスペース0

私はジェンキンスの私のマスターノードが示していることに気づきました

free swap space: 0 B

だから私は here のようにスワップファイルを追加しました。

しかし、これは効果がありません。何が悪いのですか?

10
dknaack

次のコマンドを実行して、ホストにスワップファイルが構成されているかどうかを確認します。

free|grep -i Swap
Swap:            0          0          0

上記のように "Swap:0 0 0"が表示される場合、ホストにはスワップが構成されていません。

ホストでスワップファイルを構成します。

dd if=/dev/zero of=swapfile bs=1M count=1K
mkswap swapfile
Sudo chown root:root swapfile
Sudo chmod 600 swapfile
Sudo swapon swapfile

スワップが構成されていることを確認します。

free|grep -i Swap
Swap:      1048572          0    1048572

ホストにスワップがあります。

次のように入力して、Jenkins Dockerを実行します。

docker run --privileged -p 8080:8080 --name jenkins -p 50000:50000 jenkins

Dockerを特権モードで実行する必要があることに注意してください。

Jenkins Dockerを特権モードで実行すると、Docker内でホストのスワップが利用可能になるため、Jenkinsマスターは有効なスワップを持ちます。

ホストのスワップが機能している場合は、Jenkins Dockerを特権モードで実行するだけです。

4
AAber