溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用docker構建jenkins鏡像并運行容器

發布時間:2021-07-27 22:23:08 來源:億速云 閱讀:194 作者:chen 欄目:云計算

如何使用Docker構建Jenkins鏡像并運行容器

在現代軟件開發中,持續集成和持續交付(CI/CD)已經成為不可或缺的一部分。Jenkins作為一款開源的自動化服務器,廣泛應用于CI/CD流程中。而Docker作為一種輕量級的容器化技術,能夠幫助開發者快速構建、部署和運行應用程序。本文將詳細介紹如何使用Docker構建Jenkins鏡像并運行容器。

1. 準備工作

在開始之前,確保你已經安裝了Docker。如果還沒有安裝,可以參考Docker官方文檔進行安裝。

2. 創建Dockerfile

Dockerfile是一個文本文件,包含了一系列指令,用于構建Docker鏡像。我們將通過Dockerfile來構建一個包含Jenkins的鏡像。

首先,創建一個新的目錄,并在該目錄下創建一個名為Dockerfile的文件:

mkdir jenkins-docker
cd jenkins-docker
touch Dockerfile

接下來,編輯Dockerfile文件,添加以下內容:

# 使用官方的Jenkins鏡像作為基礎鏡像
FROM jenkins/jenkins:lts

# 設置環境變量
ENV JAVA_OPTS="-Djenkins.install.runSetupWizard=false"

# 安裝必要的插件
RUN /usr/local/bin/install-plugins.sh git workflow-aggregator docker-workflow blueocean

# 切換到root用戶
USER root

# 安裝Docker客戶端
RUN apt-get update && apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

RUN curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -

RUN add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/debian \
   $(lsb_release -cs) \
   stable"

RUN apt-get update && apt-get install -y docker-ce-cli

# 切換回Jenkins用戶
USER jenkins

# 暴露Jenkins的默認端口
EXPOSE 8080

# 暴露Jenkins的默認JNLP端口
EXPOSE 50000

# 設置Jenkins的默認工作目錄
VOLUME /var/jenkins_home

# 啟動Jenkins
CMD ["jenkins.sh"]

2.1 解釋Dockerfile

  • FROM jenkins/jenkins:lts:使用官方的Jenkins LTS(長期支持)版本作為基礎鏡像。
  • ENV JAVA_OPTS="-Djenkins.install.runSetupWizard=false":設置環境變量,跳過Jenkins的初始設置向導。
  • RUN /usr/local/bin/install-plugins.sh git workflow-aggregator docker-workflow blueocean:安裝常用的Jenkins插件,包括Git、Pipeline、Docker Pipeline和Blue Ocean。
  • USER root:切換到root用戶,以便安裝Docker客戶端。
  • RUN apt-get update && apt-get install -y ...:安裝Docker客戶端所需的依賴項。
  • USER jenkins:切換回Jenkins用戶,以確保Jenkins以非root用戶運行。
  • EXPOSE 8080:暴露Jenkins的默認HTTP端口8080。
  • EXPOSE 50000:暴露Jenkins的默認JNLP端口50000。
  • VOLUME /var/jenkins_home:將Jenkins的工作目錄掛載為卷,以便持久化數據。
  • CMD ["jenkins.sh"]:啟動Jenkins。

3. 構建Docker鏡像

Dockerfile所在的目錄下,運行以下命令來構建Docker鏡像:

docker build -t my-jenkins .

該命令會根據Dockerfile中的指令構建一個名為my-jenkins的鏡像。構建過程可能需要一些時間,具體取決于網絡速度和系統性能。

4. 運行Jenkins容器

鏡像構建完成后,可以使用以下命令來運行Jenkins容器:

docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v jenkins_home:/var/jenkins_home my-jenkins

4.1 解釋命令

  • -d:以守護進程模式運行容器。
  • -p 8080:8080:將主機的8080端口映射到容器的8080端口。
  • -p 50000:50000:將主機的50000端口映射到容器的50000端口。
  • --name jenkins:為容器指定一個名稱,這里命名為jenkins。
  • -v jenkins_home:/var/jenkins_home:將主機的jenkins_home卷掛載到容器的/var/jenkins_home目錄,以便持久化Jenkins的數據。
  • my-jenkins:指定要運行的鏡像名稱。

5. 訪問Jenkins

容器啟動后,可以通過瀏覽器訪問Jenkins。打開瀏覽器,輸入http://localhost:8080,你將看到Jenkins的登錄頁面。

由于我們在Dockerfile中設置了JAVA_OPTS環境變量,跳過了初始設置向導,因此你可以直接使用Jenkins。

6. 配置Jenkins

6.1 安裝插件

雖然我們在Dockerfile中已經安裝了一些常用插件,但你仍然可以根據需要安裝其他插件。進入Jenkins的管理界面,點擊“Manage Jenkins” -> “Manage Plugins”,然后選擇“Available”選項卡,搜索并安裝所需的插件。

6.2 配置Docker

由于我們在容器中安裝了Docker客戶端,你可以在Jenkins中配置Docker,以便在Pipeline中使用Docker命令。進入Jenkins的管理界面,點擊“Manage Jenkins” -> “Configure System”,找到“Cloud”部分,配置Docker的相關設置。

7. 持久化數據

在運行Jenkins容器時,我們使用了-v jenkins_home:/var/jenkins_home選項,將Jenkins的數據目錄掛載到主機的jenkins_home卷中。這樣,即使容器被刪除或重新創建,Jenkins的數據仍然會保留。

8. 停止和刪除容器

如果你需要停止Jenkins容器,可以使用以下命令:

docker stop jenkins

如果需要刪除容器,可以使用以下命令:

docker rm jenkins

9. 總結

通過本文的介紹,你已經學會了如何使用Docker構建Jenkins鏡像并運行容器。Docker的輕量級和可移植性使得Jenkins的部署和管理變得更加簡單和高效。希望本文對你有所幫助,祝你在CI/CD的旅程中取得成功!


參考文檔:

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女