在linux上通過docker運行容器,通過docker搭建jenkens環境


參考博文:https://www.cnblogs.com/lentoo/p/9582792.html

阿里雲  linux 7.4

       原先項目一直是通過打成jar包上傳到服務器,再通過命令 nohup java -jar xxx &跑的,但是每次手動上傳jar包很耗時,而且不方便多人協作項目,所以打算改用jenkens自動部署。docker 是已經安裝好了的,這里不多說,可以看看別人教程安裝docker。我這里從通過docker安裝jenkens開始講。搭建別的環境,比如nginx,gitlab之類的流程都是一樣的,只有鏡像文件和run語句不一樣,這篇博文也可以參考的。

  1. 先查詢docker鏡像意思一下
    docker search jenkins 

  2.拉取最新的jenkens鏡像(把鏡像下載要服務器上)

    docker pull jenkins:latest
    輸入命令后等它下載,下載完是這樣的

3.運行鏡像

  

sudo docker run -d -u root --privileged --name jenkins -p 49003:8080 -v /opt/docker_jenkens:/var/jenkins_home -v /usr/local/java/apache-maven-3.3.9:/usr/local/maven -v /usr/local/java/jdk1.8.0_181:/usr/local/jdk -v /usr/local/java/node-v10.15.3-linux-x64:/usr/local/java/node-v10.15.3-linux-x64 -v /home/admin:/home/admin jenkins:latest

命令解析:

  1. -u 0

    指的是傳入root賬號ID,覆蓋容器中內置的賬號

    2. -v /home/admin/jenkens:/var/jenkins_home

    指的是 將docker容器內的jenkens主目錄/var/jenkins_home映射到宿主機/home/admin/jenkens目錄上

  1. --name jenkins_node1

    將容器命名為 jenkins_node1

  1. -p 49003:8080

    端口映射,將容器的8080端口映射到宿主機的49003端口

  1. --privileged

    賦予最高權限

  • 整條命令的意思

    運行一個鏡像為jenkins:latest的容器,命名為jenkins_node1,使用root賬號覆蓋容器中的賬號,賦予最高權限,將容器的 /var/jenkins_home映射到宿主機的/home/admin/jenkens目錄下,映射容器中8080端口到宿主機49003端口 (名詞解釋這段是從別的博文copy的,文章最上面有放原博文鏈接)

 

     如果在生成鏡像活運行容器的時候出錯,把滾動條拉到最下面有出錯時常用的命令和出錯原因

    6.如果是阿里雲服務器還需要在安全組開放jenkens服務(49003)的端口

 

    7.在瀏覽器輸入ip+ jenkens服務端口號 (例http://127.0.0.1:49003),出現以下頁面就代表啟動成功啦

  

  

運行jenkens時遇到問題時的常用命令
#s查看下載的dockers鏡像
sudo docker images

#查看所有docker容器
docker ps -a
#查看正在運行的docker容器
docker ps 

一般最容易出問題的地方都是這一句話
sudo docker run -d -u 0 --privileged  --name sfb_jenkins -p 49003:8080 -v /opt/docker_jenkens:/var/jenkins_home jenkins:latest
執行這個語句的時候出錯,這個時候有可能docker沒有生成容器,但也有可能已經生成了一個自己不想要的容器
這個時候,先執行
docker ps  查看當前正在運行的容器有沒有jenkens

如果有,先停止運行 命令是 docker stop + 容器的ID (例: docker stop 19b3b09fcbb8)

再刪除容器
docker rm + 容器的ID (例:docker rm 19b3b09fcbb8)

只能刪除已經停止運行的容器,所以記得先停止再刪除。這樣,就是再執行新的run語句生成新的容器啦

重啟停止運行的容器
docker restart + 容器的ID


免責聲明!

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



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