温馨提示×

ubuntu jenkins如何容器部署

小樊
39
2026-09-22 12:21:38
栏目: 智能运维

下面给你一个在 Ubuntu 上用容器方式部署 Jenkins 的实用方案,主要使用 Docker + Docker Compose(最常用、最推荐)。


一、环境准备(Ubuntu)

1. 安装 Docker

sudo apt update
sudo apt install -y docker.io

2. 安装 Docker Compose

sudo apt install -y docker-compose

3. 启动 Docker

sudo systemctl enable docker
sudo systemctl start docker

二、使用 Docker 运行 Jenkins(最简单)

docker run -d \
  --name jenkins \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins_home:/var/jenkins_home \
  jenkins/jenkins:lts

访问:

http://<服务器IP>:8080

查看初始管理员密码:

docker logs jenkins

或

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

三、推荐方式:Docker Compose 部署(生产可用)

1. 创建目录

mkdir -p /opt/jenkins
cd /opt/jenkins

2. 编写 docker-compose.yml

version: '3'
services:
  jenkins:
    image: jenkins/jenkins:lts
    container_name: jenkins
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - jenkins_home:/var/jenkins_home
    restart: always

volumes:
  jenkins_home:

3. 启动 Jenkins

docker-compose up -d

四、数据持久化说明(非常重要)

✅ 已使用 volume:

  • jenkins_home:保存任务、插件、配置

❗ 不要直接挂载宿主机目录(容易权限问题),推荐用 named volume


五、常见增强配置

1. 使用宿主机 Docker(Jenkins 里跑 Docker)

    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

⚠️ 注意安全,仅内网或可信环境使用


2. 使用 Nginx 反向代理(HTTPS)

server {
    listen 80;
    server_name jenkins.example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

六、升级 Jenkins

docker-compose pull
docker-compose up -d

七、常见问题

1. 端口被占用

修改 8080 为其他端口,如 9090:8080

2. 权限错误

sudo chown -R 1000:1000 /opt/jenkins

如果你需要:

  • ✅ Jenkins + Kubernetes
  • ✅ Jenkins Agent 容器化
  • ✅ CI/CD 示例(Java / Node / Docker 构建)

告诉我你的使用场景,我可以直接给你完整配置。

0 踩