創建目錄
1
2
3
|
cd /usr/local/docker/ mkdir jenkins-docker cd jenkins-docker |
創建Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
vi Dockerfile # 以下是文件內容 FROM jenkins/jenkins:lts USER root RUN mkdir -p /usr/local/ && \ cd /usr/local/ && \ curl -fsSL https://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz > /usr/local/apache-maven-3.6.3-bin.tar.gz && \ tar xzf /usr/local/apache-maven-3.6.3-bin.tar.gz -C /usr/local/ && \ rm -rf /usr/local/apache-maven-3.6.3-bin.tar.gz && \ ln -s /usr/local/apache-maven-3.6.3/bin/mvn /bin/mvn && \ ln -s /usr/local/apache-maven-3.6.3/bin/mvnyjp /bin/mvnyjp && \ export PATH=/usr/local/apache-maven-3.6.3/bin:$PATH USER jenkins |
構建鏡像
1
|
docker build -t jenkins-jiacs:lts . |
查看Docker在宿主機的Group ID
1
2
3
4
5
|
cat /etc/group | grep docker # [root@localhost jenkins-docker]# cat /etc/group | grep docker # docker:x:994: # 我這里的是994,根據各自的實際值而定 |
啟動Jenkins容器(docker命令行啟動)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# 啟動容器之前先創建 /usr/local/docker/jenkins-docker/data 文件夾并賦予權限 # /usr/local/docker/jenkins-docker/config/settings.xml 該文件自行提供(可自定義私服等信息) mkdir data chmod -R 777 data docker run -d -p 8080:8080 -p 50000:50000 \ -v /usr/local/docker/jenkins-docker/data:/var/jenkins_home \ -v /etc/localtime:/etc/localtime:ro \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /etc/docker:/etc/docker \ -v /usr/bin/docker:/usr/bin/docker \ -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose \ -v /usr/local/docker/jenkins-docker/config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml \ --group-add=994 \ --name my-jenkins \ jenkins-jiacs:lts # 說明: # 1. -v /usr/local/docker/jenkins-docker/data:/var/jenkins_home =》持久化Jenkins數據 # 2. -v /etc/localtime:/etc/localtime:ro =》 設置Jenkins容器時間和宿主機一致 # 3. -v /etc/docker:/etc/docker =》 Jenkins容器中使用的docker為宿主機安裝的docker,保證Jenkins部署的服務是在宿主機中啟動的 # 4. -v /usr/local/bin/docker-compose:/usr/local/bin/docker-compose 如果宿主機安裝了docker-compose,Jenkins容器需要使用的話可以加上該數據卷 # -v /usr/local/docker/jenkins-docker/config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml # --group-add=994 讓啟動的容器用戶組設置為宿主機中docker的用戶組,保證在Jenkins容器中有權限操作宿主機的docker命令 |
啟動Jenkins容器(docker-compose啟動)
1
2
|
cd /usr/local/docker/jenkins-docker vi jenkins-docker.yaml |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
version: '2' # 版本號不要修改,有些版本不支持group_add參數 services: jenkins: image: 'jenkins-jiacs:lts' container_name: my-jenkins # restart: always ports: - '8080:8080' - '50000:50000' group_add: - 994 volumes: - ./data:/var/jenkins_home - /etc/localtime:/etc/localtime:ro - /var/run/docker.sock:/var/run/docker.sock - /etc/docker:/etc/docker - /usr/bin/docker:/usr/bin/docker - /usr/local/bin/docker-compose:/usr/local/bin/docker-compose - ./config/settings.xml:/usr/local/apache-maven-3.6.3/conf/settings.xml |
啟動
1
|
docker-compose -f jenkins-docker.yaml up -d |
查看容器
1
|
docker ps |
進入容器
1
2
3
|
docker exec -it 0d8b70ba5cec bash # 查看Jenkins初始密碼(在容器中執行) cat /var/jenkins_home/secrets/initialAdminPassword |
打開瀏覽器訪問Jenkins服務
http://<宿主機IP>:8080/
將剛才查到的初始密碼,填入
選擇安裝推薦的插件,等待插件的安裝(這里耗時會久一點),如果部分插件安裝失敗,可以點擊重試繼續安裝,或者記錄失敗的插件,到系統配置-插件配置中手動安裝
修改Jenkins時區
系統管理 > 腳本命令行,輸入一下命令,點擊【運行】
1
|
System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai') |
安裝完成
到此這篇關于docker-compose安裝Jenkins的文章就介紹到這了,更多相關docker-compose安裝Jenkins內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/jiachangsen/article/details/113307629