Jenkins部署:
//下載鏡像
docker pull jenkins/jenkins
//開放指定的防火牆端口
firewall-cmd --zone=public --add-port=8000/tcp --permanent
//創建本地掛載目錄
mkdir -p /home/docker/jenkins
//需要修改下目錄權限, 因為當映射本地數據卷時,/home/docker/jenkins目錄的擁有者為root用戶,而容器中jenkins user的uid為1000
執行如下命令即可:
chown -R 1000:1000 /home/docker/jenkins
//運行啟動Jenkins
docker run -d -p 8000:8080 -v /home/docker/jenkins:/var/jenkins_home --name jenkins --restart=always jenkins/jenkins
示例:docker run --privileged -id -p 9999:8080 --name=jenkins05 myjenkins:3.0 /usr/sbin/init
docker run -d -p 8000:8080 -p 50000:50000 -v /home/jenkins:/var/jenkins_home --name jenkins --restart always --privileged=true -u root jenkins
查看密碼:docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword
-p : 映射端口,宿主機端口:容器端口
-v : 掛載,宿主機目錄:容器目錄
--name : 自定義容器名
-u : 權限用戶名
--privileged : 使用該參數,container內的root擁有真正的root權限,否則,container(容器)內的root只是外部的一個普通用戶權限,privileged啟動的容器可以看到很多host上的設備,並且可以執行mount,甚至允許你在docker容器內啟動docker容器。
/usr/sbin/init >>>后面加 /usr/sbin/init表示給容器授權root權限,使容器能夠使用root權限下的命令
給運行中的容器增加root權限:
首先你的container得正在運行。
可通過sudo docker container ls查看容器的CONTAINER ID
最后執行命令(其中848669a8722b為上面查到的CONTAINER ID)
sudo docker exec -ti -u root 848669a8722b bash
查看容器日志
docker logs -f jenkins
查看容器運行
docker ps
之后瀏覽器輸入 http://你的ip地址:8000
進入之后需要輸入密碼,在命令行使用如下命令獲取密碼
cat /home/jenkins/secrets/initialAdminPassword 查看密碼
之后會進入jenkins安裝插件頁面,
這里選擇安裝推薦插件就可以了;
接下來就是進入jenkins首頁,這里使用前需要配置一些基礎的maven和jdk;

點擊進入配置頁面:

解釋一下我這里為什么是/var/jenkins_home/
因為我首先jenkins是安裝在docker里的,這時候使用的就是docker里的路徑,
我們上面運行jenkins的時候,看我標紅的地方;
這里我的jdk是復制了一份放在/home/jenkins/下面的,所以這里路徑就可以直接這么寫了;
注意:這里是JAVA_HOME,所以不要加bin目錄;
接下來配置maven,跟jdk一樣;

至此,基本配置都已經好了。
接下來創建你新項目吧;
對了,默認的推薦插件是沒有maven項目的,所以你可以在插件市場里搜索一下maven;

然后去可選插件里搜索:

右上角的搜索框輸入:Maven Integration plugin
找到之后直接安裝,然后重啟jenkins就可以了;
重啟jenkins可以直接在瀏覽器地址欄操作:
這樣就OK了;
touch: cannot touch ‘/ var/jenkins_home/copy_reference_file.log’: Permission denied Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
需要修改下目錄權限, 因為當映射本地數據卷時, /home/docker/jenkins目錄的擁有者為root用戶,而容器中jenkins user的uid為1000
執行如下命令即可:
chown -R 1000:1000 /home/docker/jenkins
轉載:
