目录

1.创建目录 & dokcer-compose.yml

2.启动

3.获取存储在docker文件中的密码(一次性)


1.创建目录 & dokcer-compose.yml

mkdir -p ~/jenkins && cd ~/jenkins

cat > docker-compose.yml <<'EOF'
version: "3.9"
services:
  jenkins:
    image: jenkins/jenkins:lts-jdk17
    container_name: jenkins
    ports:
      - "8099:8080"        # ← 只改这里
      - "50000:50000"
    volumes:
      - ./data:/var/jenkins_home
    restart: unless-stopped
EOF

2.启动

docker compose up -d 

3.获取存储在docker文件中的密码(一次性)

# 进入docker中获取jenkins的密码

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

        * 如果报错

ubuntu@ubuntu:~/jenkins$ docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
Error response from daemon: Container f25d8c301adb7da3a5e8c0cac7fe203cfa9c76d79d65f766afa30765d2023f33 is restarting, wait until the container is running

1.先看日志
docker logs jenkins

日志报错:
INSTALL WARNING: User:  missing rw permissions on JENKINS_HOME: /var/jenkins_home
Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied

        * 解决:jenkins容器中的用户对/var/jenkins_home没有读写权限

docker compose down

# 方法1:
sudo chown -R 1000:1000 ./data

显示:没有权限,则看方法2;无输出跳过方法2

# 方法2:
直接使用root跑
在docker-compose.yml里jenkins服务加一行:
services:
  jenkins:
    image: jenkins/jenkins:lts-jdk17
    user: root          # ← 加这一行
    ...
    
然后:
docker compose up -d
再执行:
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword


输出的密码后打开浏览器

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐