亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Docker部署Jenkins持續(xù)集成(CI)工具的實現(xiàn)

 更新時間:2025年02月27日 09:13:21   作者:老友@  
Jenkins 是一個流行的開源自動化工具,廣泛應用于持續(xù)集成(CI)和持續(xù)交付(CD)的環(huán)境中,本文介紹了使用Docker部署Jenkins,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧

前言

Jenkins 是一個流行的開源自動化工具,廣泛應用于持續(xù)集成(CI)和持續(xù)交付(CD)的環(huán)境中。通過 Docker 部署 Jenkins,可以簡化安裝和配置過程,并讓你方便地管理 Jenkins 容器。

本文將介紹如何使用 Docker 部署 Jenkins,并對比兩種端口配置方式:使用 host 網(wǎng)絡模式和使用 port 映射來設置 Jenkins 容器的訪問端口。

一、準備工作

首先,確保你的系統(tǒng)上已經(jīng)安裝了 Docker。

Linux上進行Docker安裝有兩種方式:

  • Docker自動化安裝
  • Docker手動安裝

可以根據(jù)該文章的步驟進行安裝:https://blog.csdn.net/weixin_44876263/article/details/136714078?spm=1001.2014.3001.5502

二、設置變量和目錄結(jié)構(gòu)

在部署 Jenkins 之前,首先設置一些變量并創(chuàng)建相關目錄,以確保 Jenkins 數(shù)據(jù)和日志能夠持久化存儲。

#!/bin/bash

# 設置變量
PORT=8081
PROJECT_DIR="/opt/docker/jenkins"

# 創(chuàng)建目錄結(jié)構(gòu)
mkdir -p "$PROJECT_DIR/jenkins_home"
mkdir -p "$PROJECT_DIR/logs"
  • PORT=8081 設置 Jenkins 容器暴露的端口??梢愿鶕?jù)需求修改為其他端口。
  • PROJECT_DIR 是 Jenkins 配置和數(shù)據(jù)存儲的根目錄。
  • 創(chuàng)建 jenkins_home 目錄來存儲 Jenkins 的數(shù)據(jù)。
  • 創(chuàng)建 logs 目錄來存儲 Jenkins 的日志文件。

三、配置 Docker 權限和網(wǎng)絡

運行 Jenkins 容器時,我們可能需要賦予它一些特權和網(wǎng)絡設置,具體如下:

  • --privileged=true:該選項賦予容器管理員權限,這樣容器可以執(zhí)行更多操作。需要評估是否賦予這個權限。
  • --network=host:使容器與主機共享網(wǎng)絡堆棧,而不進行端口映射。Jenkins 將直接使用主機的端口。
  • --cap-add=NET_ADMIN:允許容器管理網(wǎng)絡接口,某些 Jenkins 插件可能需要此權限。
  • --cap-add=SYS_PTRACE:允許容器內(nèi)的進程進行調(diào)試,通常用于調(diào)試工具或監(jiān)控進程。

四、啟動 Jenkins 容器

1. 使用 host 網(wǎng)絡模式(共享主機網(wǎng)絡)

通過設置 --network host,容器將直接使用宿主機的網(wǎng)絡堆棧。此時,不需要端口映射,容器會占用主機上的端口 8080。因此,訪問 Jenkins 的 URL 會直接是宿主機的 IP 地址。

# 運行 Jenkins 容器(使用 host 網(wǎng)絡)
docker run -d \
  --restart=always \
  --cap-add=SYS_PTRACE \
  --cap-add=NET_ADMIN \
  --name jenkins \
  -u root \
  -e JENKINS_OPTS="--httpPort=$PORT" \
  -v "$PROJECT_DIR/jenkins_home:/var/jenkins_home" \
  -v "$PROJECT_DIR/logs:/var/log/jenkins" \
  -v "/var/run/docker.sock:/var/run/docker.sock" \
  -v "/etc/localtime:/etc/localtime" \
  --network host \
  jenkins/jenkins:lts-alpine-jdk17

修改 host模式下 Jenkins 端口的正確方法:

如果你需要更改 Jenkins URL 或 端口,可以直接修改 jenkins.model.JenkinsLocationConfiguration.xml 文件。
這個文件通常位于 Jenkins 的數(shù)據(jù)目錄中(即 /var/jenkins_home)。

  • 找到并打開 /var/jenkins_home/jenkins.model.JenkinsLocationConfiguration.xml 文件。

  • 修改 標簽中的端口部分,例如:

    <jenkinsUrl>http://localhost:8081/</jenkinsUrl>
    

優(yōu)點:

  • 不需要額外的端口映射,容器和主機共享網(wǎng)絡堆棧。
  • 對于沒有多個容器的簡單環(huán)境,配置非常方便。

缺點:

  • 端口直接共享主機端口,因此如果主機上有其他服務占用了相同的端口,可能會導致沖突。
  • 不能靈活配置容器的端口映射。

2. 使用 port 映射(綁定特定端口)

如果你想控制容器的端口映射,或者在一臺機器上運行多個 Docker 容器,可以使用 -p 參數(shù)將宿主機的端口映射到容器的端口。在這種情況下,Jenkins 容器會綁定到宿主機的指定端口,而不是共享整個主機的網(wǎng)絡。

# 運行 Jenkins 容器(使用端口映射)
docker run -d \
  --restart=always \
  --cap-add=SYS_PTRACE \
  --cap-add=NET_ADMIN \
  --name jenkins \
  -u root \
  -p "$PORT:8080" \
  -v "$PROJECT_DIR/jenkins_home:/var/jenkins_home" \
  -v "$PROJECT_DIR/logs:/var/log/jenkins" \
  -v "/var/run/docker.sock:/var/run/docker.sock" \
  -v "/etc/localtime:/etc/localtime" \
  jenkins/jenkins:lts-alpine-jdk17

優(yōu)點:

  • 容器和宿主機的網(wǎng)絡堆棧相互隔離,避免了端口沖突。
  • 可以靈活設置宿主機與容器之間的端口映射。
  • 適合在單臺機器上運行多個容器時使用不同的端口。

缺點:

  • 需要手動設置端口映射(如果有多個容器)。

五、Docker 內(nèi)安裝 Docker 環(huán)境

如果你需要在 Jenkins 容器內(nèi)執(zhí)行 Docker 命令(例如,構(gòu)建 Docker 鏡像),你可以通過在容器中安裝 Docker 客戶端來實現(xiàn):

# 安裝 Docker CLI 工具
apk add docker-cli

這將允許 Jenkins 在容器內(nèi)部調(diào)用 Docker 命令。

六、訪問 Jenkins

無論你選擇了哪種端口配置方式,你都可以通過瀏覽器訪問 Jenkins Web 界面:

  • 使用 host 網(wǎng)絡模式:訪問 http://<your-server-ip>:8080,直接通過主機的 IP 地址。
  • 使用 port 映射:訪問 http://<your-server-ip>:8081,通過宿主機上映射的端口(在這里是 8081)。

首次訪問時,Jenkins 會要求你輸入解鎖密鑰。你可以在容器日志中找到該密鑰:

在這里插入圖片描述

復制并粘貼日志中的密鑰,完成 Jenkins 的初始設置。

總結(jié)

通過 Docker 部署 Jenkins 容器并設置端口映射或共享主機網(wǎng)絡堆棧,都是部署 Jenkins 的有效方式。選擇哪種方式,取決于你的具體需求:

  • 如果你希望容器與宿主機共享網(wǎng)絡,避免端口映射,選擇 host 網(wǎng)絡模式。
  • 如果你需要靈活地控制容器與宿主機的端口映射,選擇 port 映射 方式。

通過這種方式,你可以輕松地在 Docker 中管理 Jenkins 環(huán)境,提升持續(xù)集成和持續(xù)交付的效率。

到此這篇關于Docker部署Jenkins持續(xù)集成(CI)工具的實現(xiàn)的文章就介紹到這了,更多相關Docker部署Jenkins持續(xù)集成內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Docker安裝wordpress并配置數(shù)據(jù)庫超詳細介紹版

    Docker安裝wordpress并配置數(shù)據(jù)庫超詳細介紹版

    安裝WordPress是一項常見的任務,使用Docker可以使這個過程更加簡單和可靠,下面這篇文章主要給大家介紹了關于Docker安裝wordpress并配置數(shù)據(jù)庫的相關資料,需要的朋友可以參考下
    2023-11-11
  • Docker 容器互聯(lián)互通的實現(xiàn)方法

    Docker 容器互聯(lián)互通的實現(xiàn)方法

    這篇文章主要介紹了Docker 容器互聯(lián)互通,本文講解不同網(wǎng)絡下的容器可以通過加入同一個docker網(wǎng)絡,來訪問該docker網(wǎng)絡下的容器,并且既可以通過容器ip也可以通過容器名連接,非常方便,需要的朋友可以參考下
    2022-10-10
  • Docker安裝Nacos服務的實現(xiàn)

    Docker安裝Nacos服務的實現(xiàn)

    本文主要介紹了Docker安裝Nacos服務的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 在docker中部署并啟動redis的方法

    在docker中部署并啟動redis的方法

    這篇文章主要介紹了在docker中部署并啟動redis的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Docker實現(xiàn)同Ip網(wǎng)段聯(lián)通的實現(xiàn)

    Docker實現(xiàn)同Ip網(wǎng)段聯(lián)通的實現(xiàn)

    這篇文章主要介紹了Docker實現(xiàn)同Ip網(wǎng)段聯(lián)通的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 如何基于Dockerfile構(gòu)建tomcat鏡像

    如何基于Dockerfile構(gòu)建tomcat鏡像

    這篇文章主要介紹了如何基于Dockerfile構(gòu)建tomcat鏡像,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Docker中Nginx反向代理的實現(xiàn)步驟

    Docker中Nginx反向代理的實現(xiàn)步驟

    為了安全考慮,我們一般會設置反向代理,用來屏蔽應用程序真實的IP和端口號,本文主要介紹了Docker中Nginx反向代理的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • docker容器在uos-12038.101上啟動報錯的解決辦法

    docker容器在uos-12038.101上啟動報錯的解決辦法

    這篇文章主要介紹了docker容器在uos-12038.101上啟動報錯的問題,解決方案是需要在/etc/systemd/system/或者 /usr/lib/systemd/system/
    找到docker.service文件,在ExecStart=/usr/bin/dockerd后面添加 --default-ulimit nofile=65536:65536參數(shù),需要的朋友可以參考下
    2024-03-03
  • Docker中部署Redis集群與部署微服務項目的詳細過程

    Docker中部署Redis集群與部署微服務項目的詳細過程

    這篇文章主要介紹了Docker中部署Redis集群與部署微服務項目,主要包括使用docker部署的好處以及Docker與Kubernetes對比分析,需要的朋友可以參考下
    2022-06-06
  • docker在windows創(chuàng)建卷后本地找不到的完美解決方法

    docker在windows創(chuàng)建卷后本地找不到的完美解決方法

    這篇文章主要介紹了docker在windows創(chuàng)建卷后本地找不到的完美解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-02-02

最新評論