Docker 上的 Jenkins - 可用交换空间 0

Docker 上的 Jenkins - 可用交换空间 0

我注意到 Jenkins 上的主节点显示

free swap space: 0 B

因此我按照说明添加了一个交换文件这里

但这没有效果。我做错了什么?

答案1

运行以下命令查看您的主机是否配置了交换文件:

free|grep -i Swap
Swap:            0          0          0

如果您得到如上所示的“Swap:0 0 0”,则表示您的主机没有配置交换。

在主机上配置交换文件:

sudo dd if=/dev/zero of=swapfile bs=1M count=1K
sudo 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 master 将具有可用的交换。

如果您的主机已经有可用的交换,您需要做的就是以特权模式运行 Jenkins docker。

相关内容