dkn*_*ack 12 linux jenkins docker
我注意到我在 Jenkins 上的主节点显示
free swap space: 0 B
Run Code Online (Sandbox Code Playgroud)
所以我增加了一个交换文件所描述这里。
但这没有效果。我究竟做错了什么?
小智 6
运行以下命令查看您的主机是否配置了交换文件:
free|grep -i Swap
Swap: 0 0 0
Run Code Online (Sandbox Code Playgroud)
如果你得到“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
Run Code Online (Sandbox Code Playgroud)
验证您的交换已配置:
free|grep -i Swap
Swap: 1048572 0 1048572
Run Code Online (Sandbox Code Playgroud)
很好,我们在主机上有一个交换。
输入以下命令运行您的 Jenkins docker:
docker run --privileged -p 8080:8080 --name jenkins -p 50000:50000 jenkins
Run Code Online (Sandbox Code Playgroud)
请注意,您必须在特权模式下运行 docker。
当您在特权模式下运行 Jenkins docker 时,主机的交换将在 docker 内可用,因此您的 Jenkins 主节点将有一个工作交换。
如果你的主机已经有一个可用的交换,你需要做的就是在特权模式下运行 Jenkins docker。