jenkins docker in docker的問題

隨着自動化部署越來越普及,加上docker容器化部署越來越多,很多時候可能存在這樣一種需求:jenkins通過docker啓動,然後jenkins打包鏡像並上傳私服,再通過jenkins進行部署(遠程服務器從私服下載鏡像並啓動)。這裏面就涉及了在docker裏面執行docker命令的問題,也就是docker in docker。這個問題,我研究了好久,中間太曲折,不贅述了。最後做成了鏡像,有需要的就直接拿去用吧。

默認進去就是root用戶

docker-compose up -d

docker-compose.yml

version: '3.2'
services:
  jenkins:
    container_name:  jenkins
    image: wjf8882300/jenkins
    restart: unless-stopped
    ports:
      - target: 8080
        published: 8080
        protocol: tcp
        mode: host
    volumes:
      - /data/jenkins:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker

Jenkins默認安裝完可能不是最新的,需要替換爲最新的,不然很多插件會安裝失敗。

 # 進入jenkins所在docker容器
docker exec -it jenkins bash
# 進入安裝目錄
cd /usr/share/jenkins/ 
# 下載最新安裝包(自己到官網找)
wget http://updates.jenkins-ci.org/download/war/2.176.2/jenkins.war 
# 退出容器
exit 
# 重啓容器
docker restart jenkins 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章