使用 Docker 部署 Jenkins 并设置初始管理员密码

使用 Docker 部署 Jenkins 并设置初始管理员密码

在这里插入图片描述

每一次开始,我都特别的认真与胆怯,是因为我期待结局,也能够不会那么粗糙,不会让我失望,所以,就多了些思考,多了些拘束,所以,我也就格外重视第一次!

在这篇博客中,我们将介绍如何使用 Docker 部署 Jenkins,并在 /usr/local/src/ 目录下创建相关卷。

安装Docker

1、选择要安装的平台

Docker要求CentOS系统的内核版本高于3.10

uname -r #通过 uname -r 命令查看你当前的内核版本

安装文档地址

https://docs.docker.com/engine/install/centos/

2、选择要安装的操作系统

img

3、首先卸载已安装的Docker

使用Root权限登录 Centos。确保yum包更新到最新。

sudo yum update

如果你的操作系统没有安装过Docker , 就不需要执行卸载命令。

 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

4、建立仓库

安装Docker所需要的一些工具包

sudo yum install -y yum-utils

建立Docker仓库 (映射仓库地址)

sudo yum-config-manager   --add-repo     https://download.docker.com/linux/centos/docker-ce.repo

5、安装Docker引擎

 sudo yum install docker-ce docker-ce-cli containerd.io

6、启动Docker

sudo systemctl start docker

7.设置docker镜像仓库

有时候,我们pull镜像的时候非常慢,所以需要设置一下国内的镜像仓库作为下载源

第一步:新建或编辑daemon.json
vi /etc/docker/daemon.json第二步:daemon.json中编辑如下
{"registry-mirrors": ["http://hub-mirror.c.163.com"]
}第三步:重启docker
systemctl restart docker.service第四步:执行docker info查看是否修改成功
docker info

以下列举出国内的几个下载地址:

1.网易
http://hub-mirror.c.163.com
2.Docker中国区官方镜像
https://registry.docker-cn.com
3.中国科技大学
https://docker.mirrors.ustc.edu.cn
4.阿里云容器服务
https://cr.console.aliyun.com/
首页点击“创建我的容器镜像”  得到一个专属的镜像加速地址,类似于“https://1234abcd.mirror.aliyuncs.com”

8.安装docker-compose

Linux 上我们可以从 Github 上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。

运行以下命令以下载 Docker Compose 的当前稳定版本:

$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

要安装其他版本的 Compose,请替换 v2.2.2。

Docker Compose 存放在 GitHub,不太稳定。
你可以也通过执行下面的命令,高速安装 Docker Compose。

curl -L [https://get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-](https://link.zhihu.com/?target=https%3A//get.daocloud.io/docker/compose/releases/download/v2.4.1/docker-compose-)`uname -s`-`uname -m` > /usr/local/bin/docker-compose

将可执行权限应用于二进制文件:

$ sudo chmod +x /usr/local/bin/docker-compose

创建软链:

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装成功:

$ docker-compose version
cker-compose version 1.24.1, build 4667896b

9.docker常用命令

基本命令

  1. 启动 Docker 服务

    systemctl start docker
    
  2. 检查 Docker 版本

    docker --version
    

镜像操作

  1. 从 Docker Hub 拉取镜像

    docker pull <image_name>
    

    例如:

    docker pull nginx
    
  2. 列出本地镜像

    docker images
    
  3. 删除本地镜像

    docker rmi <image_name>
    
  4. 构建镜像

    docker build -t <image_name> .
    

容器操作

  1. 运行容器

    docker run -it --name <container_name> <image_name>
    

    例如:

    docker run -it --name my_nginx nginx
    
  2. 列出运行中的容器

    docker ps
    
  3. 列出所有容器(包括停止的容器)

    docker ps -a
    
  4. 停止容器

    docker stop <container_name>
    
  5. 启动已停止的容器

    docker start <container_name>
    
  6. 删除容器

    docker rm <container_name>
    
  7. 进入运行中的容器

    docker exec -it <container_name> /bin/bash
    

数据卷操作

  1. 创建数据卷

    docker volume create <volume_name>
    
  2. 列出数据卷

    docker volume ls
    
  3. 删除数据卷

    docker volume rm <volume_name>
    

网络操作

  1. 创建网络

    docker network create <network_name>
    
  2. 列出网络

    docker network ls
    
  3. 删除网络

    docker network rm <network_name>
    

其他操作

  1. 查看容器日志

    docker logs <container_name>
    
  2. 检查 Docker 系统资源使用情况

    docker system df
    

安装Jenkins

1.拉取 Jenkins 镜像

从 Docker Hub 拉取最新的 Jenkins 镜像。

docker pull jenkins/jenkins:lts

2.创建 Docker 卷

/usr/local/src/ 目录下创建一个用于存储 Jenkins 数据的目录。

mkdir -p /usr/local/src/jenkins/data

3.运行 Jenkins 容器

使用 Docker 启动 Jenkins 容器,并挂载前面创建的目录。

docker run -d --name jenkins \-v /usr/local/src/jenkins/data:/var/jenkins_home \-p 8080:8080 \-p 50000:50000 \jenkins/jenkins:lts

在上述命令中:

  • -d:表示容器将在后台运行。
  • --name jenkins:指定容器的名称为 jenkins
  • -v /usr/local/src/jenkins/data:/var/jenkins_home:将主机的 /usr/local/src/jenkins/data 目录挂载到容器内的 Jenkins 数据目录 /var/jenkins_home
  • -p 8080:8080:将容器的 8080 端口映射到主机的 8080 端口。
  • -p 50000:50000:将容器的 50000 端口映射到主机的 50000 端口,用于 Jenkins 代理通信。

如果启动失败,查看容器日志,

docker logs 容器ID

如果是如下报错

INSTALL WARNING: User:  missing rw permissions on JENKINS_HOME: /var/jenkins_home
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?

那就给容器挂载目录授权

sudo chown -R 1000:1000 /usr/local/src/jenkins
sudo chown -R 1000:1000 /usr/local/src/jenkins/*

3.验证部署

打开浏览器并访问 http://<你的主机IP>:8080,在首次启动时,Jenkins 将生成一个初始管理员密码。可以通过以下命令查看初始密码:

docker logs 容器ID

在这里插入图片描述

或者直接查看文件中的密码

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

在这里插入图片描述

初始化配置完成后,可以使用 Jenkins Web 界面创建新的用户、配置插件和管理 Jenkins 实例。

4.其他常用 Docker 命令

  • 查看容器日志:

    docker logs -f jenkins
    
  • 进入容器内部:

    docker exec -it jenkins /bin/bash
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/14652.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【HCIP学习】STP协议

一、STP协议出现背景&#xff08;Spanning Tree Protocol&#xff0c;生成树协议&#xff09; 二层环路带来的问题&#xff1a;广播风暴&#xff1b; MAC地址表的震荡&#xff1b; 二、STP定义 stp是二层网络中用于消除环路的协议&#xff0c;通过阻断冗余链路来消除&#xff…

加速度传感器的冲击振动的原始特征与解算(部分)

这里是工作中测得的一组数据&#xff0c;设备有多个加速度传感器通道&#xff0c;我们可以看到冲击振动发生前后&#xff0c;各个振动传感器的的反馈以及其他的细化特征&#xff1a; 1.随机振动&#xff08;加速度传感器视角&#xff09; 2.冲击振动&#xff08;加速度&#x…

C++ 网络编程

一、Reactor 网络编程模型 reactor 是一个事件处理模型。网络处理:因为用户层并不知道 IO 什么时候就绪,所以将对 IO 的处理转化为对事件的处理。网络模型构成: 非阻塞 IO:操作 IO,如果 IO 未就绪,IO 函数会立刻返回。IO 多路复用:检测多路 IO 是否就绪。工作流程: 注册…

【从零开始实现stm32无刷电机FOC】【理论】【1/6 电机旋转本质】

目录 电机旋转需要什么样的力&#xff1f;怎么产生力矢量&#xff1f;怎么产生任意的线圈磁矢量&#xff1f; 电机旋转需要什么样的力&#xff1f; 电机切向存在受力&#xff0c;电机就会旋转。 进一步查看电机结构&#xff0c;分为转子和定子&#xff0c;大部分情况下&#…

FIFO-Diffusion,一个无需额外训练即可生成长视频的框架。通过确保每个帧引用足够多的先前帧来生成高质量、一致的长视频。

简单来讲&#xff0c;FIFO-Diffusion先通过一些模型如VideoCraft2、zeroscope、Opem-Sora Plan等与FIFO-Diffusion的组合生成短视频&#xff0c;然后取结尾的帧&#xff08;也可以取多帧&#xff09;&#xff0c;再用这一帧的图片生成另一段短视频&#xff0c;然后拼接起来。FI…

linux命令日常使用思考

linux命令日常使用思考 复制的相关问题scp和cp的区别root192.168.5.229-r的理解 更新版本的相关问题svn info 根目录和家目录的区别根目录家目录 复制的相关问题 scp和cp的区别 安全性&#xff1a;SCP 是基于 SSH 的加密传输协议&#xff0c;可以保证数据在传输过程中的安全性…

vue期末复习选择题1

1. 下面哪一项描述是错误的&#xff1f;&#xff08;B&#xff09; A.$("ul li:gt(5):not(:last)")选取ul标记里面索引值大于5且不是最后一个的li元素B.$("div").find("span")选取div元素的子元素spanC.$("div.showmore > a")选取…

Axure RP 9 for Mac/win:重新定义交互原型设计的未来

在当今数字化时代&#xff0c;交互原型设计已成为产品开发中不可或缺的一环。Axure RP 9作为一款功能强大的交互原型设计软件&#xff0c;凭借其出色的性能和用户友好的界面&#xff0c;赢得了广大设计师的青睐。 Axure RP 9不仅支持Mac和Windows两大主流操作系统&#xff0c;…

Excel实现将A列和B列的内容组合到一个新的列(例如C列)中,其中A列的每个值都与B列的所有值组合。

利用Excel中vba代码宏实现 原始数据&#xff1a; 自动生成后数据&#xff1a; vba实现代码&#xff1a; Sub CombineColumns()Dim ws As WorksheetDim lastRowA As Long, lastRowB As Long, i As Long, j As LongDim MyIndex As IntegerDim strCombine As String, strColA As…

【Python】 去除字符串中的所有空白字符

基本原理 在Python中&#xff0c;字符串&#xff08;String&#xff09;是不可变的数据类型&#xff0c;这意味着一旦创建了一个字符串&#xff0c;就不能修改它的内容。然而&#xff0c;我们可以创建一个新的字符串&#xff0c;它包含原始字符串中的字符&#xff0c;但不包含…

局域网传文件怎么操作?轻松实现文件共享!

在现代的办公和生活中&#xff0c;局域网传文件已经成为一种非常常见和方便的方式&#xff0c;可以快速、安全地在局域网内进行文件传输。无需依赖互联网&#xff0c;局域网传文件可以帮助团队成员之间共享文件、备份数据、进行协作等。本文将介绍三种常见的方法&#xff0c;帮…

MySQL——存储过程,触发器

BaiduComate: # 问题1&#xff1a; # 问题1&#xff1a; 帮我创建两个表student与score表&#xff0c;要求student表有id&#xff0c;createDate&#xff0c;userName&#xff0c;phone&#xff0c;age&#xff0c;sex&#xff0c;introduce&#xff0c; 要求score表有id&…

Vue3实战Easy云盘(四):使用空间+文件预览+文件分享+文件下载

一、空间使用 Framework.vue中 &#xff08;1&#xff09;引入接口 const api {getUseSpace: "/getUseSpace",logout: "/logout", }; &#xff08;2&#xff09;回调 // 使用空间 const useSpaceInfo ref({ useSpace: 0, totalSpace: 1 }); const g…

unreal engine 5.0.3 创建游戏项目

根据虚幻官网介绍&#xff0c;虚幻引擎5可免费用于创建线性内容、定制项目和内部项目。你可以免费用它开发游戏&#xff0c;只有当你的产品营收超过100万美元时&#xff0c;才收取5%的分成费用。所以目前国内也有许多游戏厂商在使用UE制作游戏。UE5源码也已开源&#xff0c;有U…

[数据集][目标检测]吸烟检测数据集VOC+YOLO格式1449张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;1449 标注数量(xml文件个数)&#xff1a;1449 标注数量(txt文件个数)&#xff1a;1449 标注…

huggingface笔记:LLama 2

1 前提tip 1.1 使用什么数据类型训练模型&#xff1f; Llama2模型是使用bfloat16训练的 上传到Hub的检查点使用torch_dtype float16&#xff0c;这将通过AutoModel API将检查点从torch.float32转换为torch.float16。在线权重的数据类型通常无关紧要&#xff0c;这是因为模型…

机器学习300问】95、什么是KNN算法?它和K-means什么关系?

一、KNN算法的定义 KNN&#xff08;K-Nearest Neighbors&#xff09;算法&#xff0c;是一种简单而有效的监督学习方法。它既可以用在分类任务&#xff0c;也可用在回归任务中。KNN算法的核心思想&#xff1a;在特征空间中&#xff0c;如果有一个数据点周围的大多数邻居属于某个…

5. JVM面试题汇总

Java全栈面试题汇总目录-CSDN博客 1. 说一下JVM的主要组成部分及其作用? JVM包含两个子系统和两个组件&#xff0c;两个子系统为Class loader(类装载)、Execution engine(执行引擎)&#xff1b;两个组件为Runtime data area(运行时数据区)、Native Interface(本地接口)。 Cl…

linux mail命令及其历史

一、【问题描述】 最近隔壁组有人把crontab删了&#xff0c;crontab这个命令有点反人类&#xff0c;它的参数特别容易误操作&#xff1a; crontab - 是删除计划表 crontab -e 是编辑&#xff0c;总之就是特别容易输入错误。 好在可以通过mail命令找回&#xff0c;但是mai…

【计算机网络】初识Tcp协议

&#x1f4bb;文章目录 &#x1f4c4;前言Tcp基础概念Tcp 的报文格式三次握手四次挥手 Tcp的滑动窗口机制概念超时重传机制高速重传 TCP传输控制机制流量控制拥堵控制慢启动 Tcp的性能优化机制延迟应答捎带应答 &#x1f4d3;总结 &#x1f4c4;前言 TCP三次握手、四次挥手&…