docker基础
01、Docker简介
02、Docker的安装(通过yum安装)
03、Docker安装的问题补充
04、Docker的安装(通过RPM软件包)
05、Docker的安装(通过脚本安装)
06、Docker的卸载
07、Docker配置阿里云镜像加速器
08、Docker中的基本概念和底层原理
09、Docker常用命令(帮助命令)
10、Docker常用命令(镜像命令)
11、Docker常用命令(容器命令01)
12、Docker常用命令(容器命令02)
13、Docker常用命令(容器命令03)
14、Docker安装Nginx
15、Docker图形化管理工具Portainer
16、Docker镜像讲解
17、Docker镜像分层的理解
18、Docker镜像的commit操作
19、Docker容器数据卷介绍
20、Docker容器数据卷的应用
21、Docker中数据卷相关命令
22、Docker数据卷实现MySQL数据持久化
23、DockerFile的方式挂载数据卷
24、Docker数据卷容器的说明与共享数据原理
25、DockerFile文件详解
26、Docker实战:自定义CentOS镜像
27、CMD指令和ENTRYPOINT指令的区别
28、ONBUILD指令介绍
29、COPY指令和ADD指令
30、自定义Tomcat9镜像
31、发布镜像到DockerHub
32、将本地镜像推送到阿里云
33、补充:save和load命令说明
34、Jenkins + Docker + Github 自动部署
本文档使用 MrDoc 发布
-
+
首页
34、Jenkins + Docker + Github 自动部署
### Jenkins + Docker + Github 自动部署 **默认已经安装docker** 启动docker ```c sudo systemctl start docker ``` 配置镜像源 ```c vim /etc/docker/daemon.json # 添加配置 { "registry-mirrors": ["https://mirror.ccs.tencentyun.com"] } ``` 重启docker ```c sudo systemctl restart docker ``` 安装git ```c sudo yum install git ``` 使用docker拉取Jenkins镜像 ```c docker pull jenkins/jenkins:2.426.2-lts ``` 创建挂载目录 ```c mkdir -p /usr/docker/jenkins_data 启动 docker run -d -p 8082:8080 -p 50000:50000 -v /usr/docker/jenkins_data:/var/jenkins_home -v /etc/localtime:/etc/localtime -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock --restart=on-failure -u 0 --name myjenkins jenkins/jenkins:2.426.2-lts ``` **启动指令解析:** **-d**:后台运行容器 **-p**:端口映射, 左边是本地端口,右边是docker容器端口 ,8080是Jenkins Web 界面的工作端口,50000是JNLP(Java Network Launch Protocol)工作端口。这个端口用于 Jenkins 节点和主控节点之间的通信。 **-v** :目录挂载,将主机上的 /usr/docker/jenkins_data 目录挂载到容器内的 /var/jenkins_home 目录,用于持久化 Jenkins 的数据。/etc/localtime:/etc/localtime:将本地主机上的时区信息文件挂载到容器内的 /etc/localtime 文件中,确保容器内的时间与主机上的时间一致 **-v** /usr/bin/docker:/usr/bin/docker: 将主机上的 /usr/bin/docker 文件挂载到容器中的 /usr/bin/docker,这样容器内的 Jenkins 可以直接使用宿主机上的 Docker 命令。在使用 GitLab/Jenkins 等 CI 软件的时候需要使用 Docker 命令来构建镜像,需要在容器中使用 Docker 命令;通过将宿主机的 Docker 共享给容器 **-v** /var/run/docker.sock:/var/run/docker.sock: 将主机上的 Docker socket 文件挂载到容器中的相同位置,这样容器内的 Jenkins 可以与宿主机上的 Docker 引擎进行通信。 **–restart=on-failure**:设置容器的重启策略为在容器以非零状态退出(异常退出)时重启。 **-u 0**:将容器内进程的用户身份设置为 root 用户,等同于-u root。 **–name myjenkins**:给容器指定一个名称为 myjenkins。 ------------ **验证Jenkins容器是否启动成功** ```c docker ps ``` 查看初始密码 ```c docker logs myjenkins 输出内容中 Please use the following password to proceed to installation 下一行就是 ``` 也可以查看文件 查看初始密码 ```c cat /usr/docker/jenkins_data/secrets/initialAdminPassword ``` 修改插件源 ```c cd /usr/docker/jenkins_data/updates 替换default.json文件中指定的源 sed -i 's|http://updates.jenkins-ci.org/|https://mirrors.tuna.tsinghua.edu.cn/jenkins/|g' default.json sed -i 's|http://www.google.com/|https://www.baidu.com/|g' default.json ``` 修改下载地址 ```c vim /usr/docker/jenkins_data/hudson.model.UpdateCenter.xml 修改xml文件为: <?xml version='1.1' encoding='UTF-8'?> <sites> <site> <id>default</id> <url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url> </site> </sites> ``` **登录Jenkins web页面** 地址是: 服务器IP:8082  注意:因为是docker启动,所以目录`/var/jenkins_home/secrets/initialAdminPassword` 中的`var/jenkins_home`要替换为我们的实际映射地址:`/usr/docker/jenkins_data/` **进入后安装推荐的插件:**  **创建用户选择使用admin登录**  点击左侧 Manage Jenkins -> Plugins -> 左侧 Available Plugins 安装插件 下面是一些常用插件 Locale(中文插件) Gitlab(拉取 gitlab 中的源代码) Maven Integration(maven构建工具) Publish Over SSH(远程推送工具) Role-based Authorization Strategy(权限管理) Deploy to container(自动化部署工程所需要插件,部署到容器插件) git parameter(用户参数化构建过程里添加git类型参数) 未完待续 [参考链接](https://blog.csdn.net/ooobbb_/article/details/140228051 "参考链接")
李智
2025年3月17日 13:22
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码