docker容器临时切换到 root 用户执行 apt 命令
·
临时切换到 root 用户执行 apt 命令(推荐)
进入容器时直接指定root用户,即可获得系统级权限执行安装操作:
# 1. 以root身份进入Jenkins容器(关键:替换jenkins为你的容器名/ID)
docker exec -it -u root jenkins /bin/bash
# 2. 先修复缺失的目录并赋予正确权限
mkdir -p /var/lib/apt/lists/partial
chmod 755 /var/lib/apt/lists/
# 3. 正常执行apt更新和安装
apt update && apt upgrade -y
# 4. 安装Docker客户端(接之前的步骤)
apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -y docker-ce docker-ce-cli containerd.io
# 5. 验证Docker安装
docker --version
# 6. 退出root用户(可选)
exit
方案 2:在 Jenkins Pipeline 中用 root 执行 apt 命令(适配自动化构建)
如果需要在 Jenkins 流水线中自动执行,可在脚本中添加sudo或指定root用户执行:
groovy
stage('Install Docker in Jenkins Container') {
steps {
script {
// 以root身份执行命令
sh '''
docker exec -u root jenkins bash -c "
# 修复目录和权限
mkdir -p /var/lib/apt/lists/partial && chmod 755 /var/lib/apt/lists/
# 更新源并安装Docker
apt update && apt install -y docker-ce docker-ce-cli containerd.io
"
'''
}
}
}
更多推荐



所有评论(0)