You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Ubuntu 20.04 Docker容器安装Jenkins时遇start执行被拒问题如何解决?

在Ubuntu 20.04 Docker容器中解决Jenkins启动被policy-rc.d阻止的问题

问题原因

Docker容器默认的policy-rc.d脚本会返回101,阻止所有服务自动启动;同时普通Ubuntu容器默认未运行systemd,导致invoke-rc.d无法识别当前运行级别,触发启动被拒的错误。

解决方法

方法1:修改policy-rc.d允许服务启动

  1. 进入运行中的容器:
    docker exec -it <容器ID/名称> bash
    
  2. 修改policy-rc.d内容,允许所有服务启动:
    echo "#!/bin/sh
    exit 0" > /usr/sbin/policy-rc.d
    
  3. 赋予脚本执行权限:
    chmod +x /usr/sbin/policy-rc.d
    
  4. 手动启动Jenkins:
    systemctl start jenkins
    

方法2:安装Jenkins时跳过自动启动

安装Jenkins时添加--no-start参数,避免安装过程中自动触发启动:

apt-get update && apt-get install jenkins --no-start

之后再手动启动服务:

systemctl start jenkins

方法3:配置容器支持systemd

普通Ubuntu镜像默认未运行systemd,可通过以下方式配置:

  1. 启动容器时挂载systemd控制组并开启特权模式:
    docker run -d --name jenkins-container --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro ubuntu:20.04
    
  2. 进入容器后安装systemd:
    apt-get update && apt-get install -y systemd
    
  3. 重新启动容器后,再安装并启动Jenkins。

内容的提问来源于stack exchange,提问作者Md Afsar Ansari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 18:50:46