最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

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

一、準(zhǔn)備工作

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

Linux上進(jìn)行Docker安裝有兩種方式:

  • Docker自動(dòng)化安裝
  • Docker手動(dòng)安裝

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

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

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

#!/bin/bash

# 設(shè)置變量
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 設(shè)置 Jenkins 容器暴露的端口。可以根據(jù)需求修改為其他端口。
  • PROJECT_DIR 是 Jenkins 配置和數(shù)據(jù)存儲(chǔ)的根目錄。
  • 創(chuàng)建 jenkins_home 目錄來(lái)存儲(chǔ) Jenkins 的數(shù)據(jù)。
  • 創(chuàng)建 logs 目錄來(lái)存儲(chǔ) Jenkins 的日志文件。

三、配置 Docker 權(quán)限和網(wǎng)絡(luò)

運(yùn)行 Jenkins 容器時(shí),我們可能需要賦予它一些特權(quán)和網(wǎng)絡(luò)設(shè)置,具體如下:

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

四、啟動(dòng) Jenkins 容器

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

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

# 運(yùn)行 Jenkins 容器(使用 host 網(wǎng)絡(luò))
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 文件。
這個(gè)文件通常位于 Jenkins 的數(shù)據(jù)目錄中(即 /var/jenkins_home)。

  • 找到并打開(kāi) /var/jenkins_home/jenkins.model.JenkinsLocationConfiguration.xml 文件。

  • 修改 標(biāo)簽中的端口部分,例如:

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

優(yōu)點(diǎn):

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

缺點(diǎn):

  • 端口直接共享主機(jī)端口,因此如果主機(jī)上有其他服務(wù)占用了相同的端口,可能會(huì)導(dǎo)致沖突。
  • 不能靈活配置容器的端口映射。

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

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

# 運(yùn)行 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)點(diǎn):

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

缺點(diǎn):

  • 需要手動(dòng)設(shè)置端口映射(如果有多個(gè)容器)。

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

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

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

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

六、訪(fǎng)問(wèn) Jenkins

無(wú)論你選擇了哪種端口配置方式,你都可以通過(guò)瀏覽器訪(fǎng)問(wèn) Jenkins Web 界面:

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

首次訪(fǎng)問(wèn)時(shí),Jenkins 會(huì)要求你輸入解鎖密鑰。你可以在容器日志中找到該密鑰:

在這里插入圖片描述

復(fù)制并粘貼日志中的密鑰,完成 Jenkins 的初始設(shè)置。

總結(jié)

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

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

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

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

相關(guān)文章

  • 詳解Docker修改容器端口映射的方法

    詳解Docker修改容器端口映射的方法

    這篇文章主要介紹了詳解Docker修改容器端口映射的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2006-11-11
  • docker 搭建單機(jī)PostgreSQL操作詳解

    docker 搭建單機(jī)PostgreSQL操作詳解

    本文通過(guò)實(shí)際案例操作演示了如何基于Docker搭建pg的完整過(guò)程,并補(bǔ)充了pg數(shù)據(jù)庫(kù)操作的常用命令和授權(quán)命令,感興趣的朋友一起看看吧
    2025-04-04
  • 遷移Docker中MySQL容器的全過(guò)程

    遷移Docker中MySQL容器的全過(guò)程

    在這篇文章中,我們將介紹如何將在 Docker 中運(yùn)行的 MySQL 容器從一臺(tái)機(jī)器(我們稱(chēng)之為A機(jī)器)遷移到另一臺(tái)機(jī)器(我們稱(chēng)之為B機(jī)器),這個(gè)過(guò)程主要包括五個(gè)步驟:提交容器為鏡像,保存鏡像為 tar 包等,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • Dockerfile建立一個(gè)自定義的鏡像執(zhí)行自定義進(jìn)程詳細(xì)過(guò)程

    Dockerfile建立一個(gè)自定義的鏡像執(zhí)行自定義進(jìn)程詳細(xì)過(guò)程

    這篇文章主要介紹了Dockerfile建立一個(gè)自定義的鏡像執(zhí)行自定義進(jìn)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • Docker使用數(shù)據(jù)容器的具體示例

    Docker使用數(shù)據(jù)容器的具體示例

    本文主要介紹了Docker使用數(shù)據(jù)容器的具體示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Docker可視化工具Portainer詳解

    Docker可視化工具Portainer詳解

    這篇文章主要介紹了Docker可視化工具Portainer使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2026-06-06
  • Docker安裝Elasticsearch?8.x的實(shí)現(xiàn)示例

    Docker安裝Elasticsearch?8.x的實(shí)現(xiàn)示例

    本文主要介紹了Docker安裝Elasticsearch8.x,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • Docker daemon 無(wú)法啟動(dòng): does not match with stored UUID錯(cuò)誤解決辦法

    Docker daemon 無(wú)法啟動(dòng): does not match with stored UUID錯(cuò)誤解決辦法

    這篇文章主要介紹了Docker daemon 無(wú)法啟動(dòng): does not match with stored UUID錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • idea使用docker生成鏡像的詳細(xì)步驟

    idea使用docker生成鏡像的詳細(xì)步驟

    本文詳細(xì)介紹了在Windows環(huán)境下使用Docker?Desktop進(jìn)行Docker鏡像的打包、運(yùn)行、導(dǎo)出以及在Linux系統(tǒng)中的導(dǎo)入操作,重點(diǎn)講解了如何在Windows中安裝Docker?Desktop,構(gòu)建Docker鏡像的步驟,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • docker創(chuàng)建redis鏡像的方法

    docker創(chuàng)建redis鏡像的方法

    本篇文章主要介紹了docker創(chuàng)建redis鏡像的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12

最新評(píng)論

阳信县| 云霄县| 阳江市| 富顺县| 专栏| 巴南区| 金山区| 防城港市| 滕州市| 宜川县| 桐乡市| 平果县| 普洱| 连山| 瑞金市| 岐山县| 阿鲁科尔沁旗| 内乡县| 安丘市| 泸水县| 五家渠市| 寿宁县| 连平县| 内乡县| 左云县| 教育| 博客| 清涧县| 石棉县| 东乡县| 湖南省| 重庆市| 建宁县| 无锡市| 察隅县| 四川省| 望江县| 铁岭市| 德阳市| 冀州市| 屯昌县|