參考網站:https://www.jenkins.io/zh/doc/book/installing/#在docker中下載並運行jenkins
建議使用的Docker映像是jenkinsci/blueocean image(來自 the Docker Hub repository)。 該鏡像包含當前的長期支持 (LTS) 的Jenkins版本 (可以投入使用) ,捆綁了所有Blue Ocean插件和功能。這意味着你不需要單獨安裝Blue Ocean插件。
下載 jenkinsci/blueocean 鏡像並使用以下docker run 命令將其作為Docker中的容器運行 :
docker run \
-u root \
--rm \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
(可選) jenkinsci/blueocean 關閉時自動刪除Docker容器(下圖為實例)。如果您需要退出Jenkins,這可以保持整潔。
(可選)jenkinsci/blueocean 在后台運行容器(即“分離”模式)並輸出容器ID。如果您不指定此選項, 則在終端窗口中輸出正在運行的此容器的Docker日志。
映射(例如“發布”)jenkinsci/blueocean 容器的端口8080到主機上的端口8080。 第一個數字代表主機上的端口,而最后一個代表容器的端口。因此,如果您為此選項指定 -p 49000:8080 ,您將通過端口49000訪問主機上的Jenkins。
(可選)將 jenkinsci/blueocean 容器的端口50000 映射到主機上的端口50000。 如果您在其他機器上設置了一個或多個基於JNLP的Jenkins代理程序,而這些代理程序又與 jenkinsci/blueocean 容器交互(充當“主”Jenkins服務器,或者簡稱為“Jenkins主”), 則這是必需的。默認情況下,基於JNLP的Jenkins代理通過TCP端口50000與Jenkins主站進行通信。 您可以通過“ 配置全局安全性” 頁面更改Jenkins主服務器上的端口號。如果您要將您的Jenkins主機的JNLP代理端口的TCP端口 值更改為51000(例如),那么您需要重新運行Jenkins(通過此 docker run …命令)並指定此“發布”選項 -p 52000:51000,其中最后一個值與Jenkins master上的這個更改值相匹配,第一個值是Jenkins主機的主機上的端口號, 通過它,基於JNLP的Jenkins代理與Jenkins主機進行通信 - 例如52000。
(可選,但強烈建議)映射在容器中的/var/jenkins_home
目錄到具有名字 jenkins-data 的volume。 如果這個卷不存在,那么這個 docker run 命令會自動為你創建卷。 如果您希望每次重新啟動Jenkins(通過此 docker run ... 命令)時保持Jenkins狀態,則此選項是必需的 。 如果你沒有指定這個選項,那么在每次重新啟動后,Jenkins將有效地重置為新的實例。
注意: 所述的 jenkins-data 卷也可以 docker volume create命令創建: docker volume create jenkins-data 代替映射 /var/jenkins_home 目錄轉換為Docker卷,還 可以將此目錄映射到計算機本地文件系統上的目錄。 例如,指定該選項 -v \(HOME/jenkins:/var/jenkins_home 會將容器的 /var/jenkins_home 目錄映射 到 本地計算機上目錄中的 jenkins 子目錄, 該\)HOME目錄通常是 /Users/
/home/<your-username>/jenkins
。
(可選 /var/run/docker.sock 表示Docker守護程序通過其監聽的基於Unix的套接字。 該映射允許 jenkinsci/blueocean 容器與Docker守護進程通信, 如果 jenkinsci/blueocean 容器需要實例化其他Docker容器,則該守護進程是必需的。 如果運行聲明式管道,其語法包含agent部分用 docker
例如, agent { docker { ... } } 此選項是必需的。 在Pipeline Syntax 頁面上閱讀更多關於這個的信息 。
jenkinsci/blueocean Docker鏡像本身。如果此鏡像尚未下載,則此 docker run 命令 將自動為您下載鏡像。此外,如果自上次運行此命令后發布了此鏡像的任何更新, 則再次運行此命令將自動為您下載這些已發布的鏡像更新。 注意:這個Docker鏡像也可以使用以下 docker pull命令獨立下載(或更新) : docker pull jenkinsci/blueocean 注意: 如果復制並粘貼上面的命令片段不起作用,請嘗試在此處復制並粘貼此無注釋版本:
實際操作的命令如下:
docker pull jenkinsci/blueocean:latest
docker volume create jenkins-data
docker run -u root -d -p 8080:8080 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean:latest
然后打開瀏覽器輸入:http://ip:8080
本機沒這個文件
因為是采用docker容器的方式,可以通過查看這個容器的運行日志來找到這個密碼
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d5d57caacc8 jenkinsci/blueocean:latest "/sbin/tini -- /usr/…" 19 seconds ago Up 18 seconds 0.0.0.0:8080->8080/tcp, 50000/tcp amazing_kalam
# docker logs -f amazing_kalam
選擇官方默認插件,安裝
創建管理員用戶
地址
Jenkins插件更改國內源
進入 Manage Jenkins -》 Manage Plugin -> Advanced 最下面有 Update Site 設置為:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json,重啟Jenkins服務。