docker部署jenkins


步驟一:

查找jenkins鏡像(也可以直接去jenkins官網找鏡像docker pull jenkins/jenkins)(官方版本文檔https://hub.docker.com/_/jenkins/)

[root@localhost docker]# docker search jenkins
NAME                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
jenkins                                Official Jenkins Docker image                   4153                [OK]                
jenkins/jenkins                        The leading open source automation server       1326                                    
jenkinsci/jenkins                      Jenkins Continuous Integration and Delivery …   355                                     
jenkinsci/blueocean                    https://jenkins.io/projects/blueocean           339                                     
jenkinsci/jnlp-slave                   A Jenkins slave using JNLP to establish conn…   101                                     [OK]

步驟二:

下載鏡像(下載過程可以看到鏡像層次,每一層都是新的鏡像)

[root@localhost docker]# docker pull jenkins
Using default tag: latest
latest: Pulling from library/jenkins
55cbf04beb70: Pull complete 
1607093a898c: Pull complete 
9a8ea045c926: Pull complete 
d4eee24d4dac: Pull complete 
c58988e753d7: Pull complete 
794a04897db9: Pull complete 
70fcfa476f73: Pull complete 

步驟三:

通過鏡像創建一個容器運行並可以提供給外部訪問

容器中可以運行一些網絡應用,要讓外部也可以訪問這些應用,可以通過 -P(大寫) 或 -p (小寫) 參數來指定端口映射。

當使用 -P 標記時,Docker 會隨機映射一個 49000~49900 的端口到內部容器開放的網絡端口。

-p(小寫)則可以指定要映射的IP和端口,但是在一個指定端口上只可以綁定一個容器。支持的格式有 hostPort:containerPortip:hostPort:containerPort、 ip::containerPort

新建一個目錄用於容器內目錄掛載映射並修改目錄權限,不然后期使用過程中會因為權限報錯

[root@localhost soft]# mkdir jenkins_home
[root@localhost soft]# ls
jenkins_home  node
[root@localhost soft]# chown -R 1000 jenkins_home
[root@localhost docker]# docker run -dit --name myjenkins -p 8082:8080 -v /usr/local/soft/jenkins_home:/var/jenkins_home jenkins
bfbcca966a49390a960304e83f47a1d3587ac27bfb7194056c011810306b3766
[root@localhost docker]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
bfbcca966a49        jenkins             "/bin/tini -- /usr/l…"   6 seconds ago       Up 5 seconds        50000/tcp, 0.0.0.0:8082->8080/tcp   myjenkins

-p:此處我將本機的8082端口映射到容器的8080端口上(jenkins默認端口8080)

-v:將容器內的文件夾映射到主機上,前面是主機目錄,后面是容器目錄

步驟四:

從瀏覽器訪問jenkins做相關配置,同我之前的其他jenkins使用教程一樣

訪問之后輸入這個文件下的內容:

/var/jenkins_home/secrets/initialAdminPassword

 

ps:一開始使用鏡像生成並啟動容器時我沒有-v做目錄掛載,遇到了一個很奇怪的問題,每次訪問jenkins都會要我輸入

initialAdminPassword文件內容,有時候還會一直在訪問jenkins中,做了目錄掛載之后,這個問題就沒出現過了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM