Centos7 Docker搭建jenkins

Centos7 Docker搭建jenkins

Docker相關準備

安裝

yum install -y docker

啓動

systemctl start docker
建議開啓運行: systemctl enable docker (這步可以不執行)

拉鏡像

docker pull jenkins/jenkins:lts
地址:官方鏡像地址

這步注意

國外的地址可能會拉不下來,這裏解決方案就是,設置一個鏡像加速,我使用的是阿里的鏡像加速
參考地址:阿里鏡像加速文檔

啓動容器

docker run -d -p 8080:8080 -p 50000:50000  -v /opt/.jenkins/:/var/jenkins_home/:rw -v /etc/localtime:/etc/localtime --name jenkins docker.io/jenkins/jenkins:lts

這裏逐條解釋下各參數的意義。

-d 後臺運行鏡像
-p 8080:8080 將鏡像的8080端口映射到服務器的8080端口,前面是宿主機端口
-p 50000:50000 將鏡像的50000端口映射到服務器的50000端口
-v /opt/docker/jenkins:/var/jenkins_home:rw目錄爲jenkins工作目錄,我們將硬盤上的一個目錄掛載到這個位置,方便後續更新鏡像後繼續使用原來的工作目錄。
-v /etc/localtime:/etc/localtime 讓容器使用和服務器同樣的時間設置。
--name jenkins 給容器起一個別名

啓動後docker ps -a 查看情況
在這裏插入圖片描述

注意

-v 可能會有權限問題,原因是宿主機目錄是root用戶 容器是jenkins用戶
docker logs 容器id 查看錯誤
解決方案:博客地址
查看運行目錄用戶
docker run -ti --rm --entrypoint="/bin/bash" docker.io/jenkins/jenkins:lts -c "whoami && id"

docker run -ti --rm -v $(pwd)/data:/var/jenkins_home --entrypoint="/bin/bash" docker.io/jenkins/jenkins:lts -c "ls -la /var/jenkins_home"
解決方案:博客地址
chcon -Rt svirt_sandbox_file_t /opt/.jenkins

訪問頁面

注意

  1. 服務器防火牆是否打開
    systemctl status firewalld
    可以選擇關閉防火牆:systemctl stop firewalld
  2. 防火牆如果打開,8080,5000端口是否開放
    firewall-cmd --add-port=8080/tcp --zone=public --permanent

初始化jenkins

  1. 打開瀏覽器 輸入 宿主機ip:8080 我的是192.168.31.112:8080
    在這裏插入圖片描述
  2. 輸入密鑰
    查看密鑰
    1. 查看宿主機對應位置,如果沒有可能是 映射沒成功
    2. 宿主機沒有的話,可以進入容器
      docker exec -it 容器id /bin/bash
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章