docker 安装jenkins

简介: docker 安装jenkins ,并可以执行宿主机的docker命令,打包docker镜像,并将镜像推送到Registry

1、挂载目录授权
当映射本地数据卷时,/data/jenkins_home目录的拥有者为root用户,而容器中jenkins user的uid为1000
执行如下命令即可:

chown -R 1000:1000 /data/jenkins_home

2、启动容器

docker run -it -d  \
--restart=always -u root \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7 \
--privileged=true --name jenkins -p 8081:8080  \
 -v /data/jenkins_home:/var/jenkins_home \
 -v /usr/local/apache-maven-3.5.4:/var/apache-maven-3.5.4\
 -v /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre/bin/java:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre/bin/java jenkins/jenkins:lts 

参数说明:

--restart=always #Docker重启后该容器也为随之重启
 
 -u root          
#以root的身份去运行镜像(避免在容器中调用Docker命令没有权限)
#最好使用docker用户去运行

-v /usr/bin/docker:/usr/bin/docker
#将宿主机的docker命令挂载到容器中
#可以使用which docker命令查看具体位置
#或者把挂载的参数改为: -v $(which docker):/usr/bin/docker

-v /var/run/docker.sock:/var/run/docker.sock
#容器中的进程可以通过它与Docker守护进程进行通信

-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
#libltdl.so.7是Docker命令执行所依赖的函数库
#容器中library的默认目录是 /usr/lib/x86_64-linux-gnu/
#把宿主机的libltdl.so.7 函数库挂载到该目录即可
#可以通过whereis libltdl.so.7命令查看具体位置
#centos7位置/usr/lib64/libltdl.so.7
#ubuntu位置/usr/lib/x86_64-linux-gnu/libltdl.so.7

3、彻底解决jenkins换更新源无效的问题

3.1、安装Jenkins镜像适配器插件
离线下载并安装localization-zh-cn插件,下载地址:http://mirrors.jenkins-ci.org/plugins/localization-zh-cn/

3.2、通过Jenkins镜像适配器插件修改镜像源
Jenkins镜像适配器插件安装完成后,Jenkins系统右下角会出现“Jenkins中文社区”链接。点击链接进入配置页面,按照下图标示顺序进行配置。
111.png

3.3、修改镜像源地址
http://ip:port/pluginManager/advanced
在设置更新中心地址页面,修改升级站点URL为刚才复制的地址。

222.png

3.4、下载测试插件进行测试
进入插件管理中的 可选插件 随意选择一个插件进行安装,查看插件下载度。
4、配置

4.1 Java

/usr/local/openjdk-8
4.2 maven
/var/apache-maven-3.5.4
5、打包镜像上传至镜像仓库
5.1 配置对私有仓库的可信任,并配置默认的镜像仓库为阿里云仓库,配置镜像加速器

vi /etc/docker/daemon.json
{
  "registry-mirrors": ["https://joui7daz.mirror.aliyuncs.com"],
  "insecure-registries": ["registry.cn-beijing.aliyuncs.com:5000"]
}

上述地址根据实际情况修改
重启:systemctl restart docker
5.2 Jenkins Post Steps

cd ${WORKSPACE}/shop-admin
docker build -t admin .
docker login --username=xxx -p xxx registry.cn-beijing.aliyuncs.com
docker tag [ImageId] registry.cn-beijing.aliyuncs.com/zysdemo/test:[镜像版本号]
 docker push registry.cn-beijing.aliyuncs.com/zysdemo/test:[镜像版本号]

注意在shop-admin目录下要有Dockerfile

FROM anapsix/alpine-java:8_server-jre_unlimited

RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

RUN mkdir -p /opt/projects/mall

WORKDIR /opt/projects/mall

ADD ./target/shop-admin-0.0.1-SNAPSHOT.jar ./

EXPOSE 8080

CMD java -jar -Xms512m -Xmx512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dspring.profiles.active=docker,quartz ./shop-admin-0.0.1-SNAPSHOT.jar
目录
相关文章
|
3月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
18天前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
123 3
docker 安装 Postgres 17.6
|
6月前
|
存储 安全 C++
Odoo 安装方式选择:源码安装 vs Docker
Odoo部署常采用源码编译或Docker容器化,但分别面临依赖复杂、版本风险和服务化难题,以及镜像臃肿和扩展受限的问题。Websoft9提出混合方案,融合两者优势:通过智能环境适配、三阶段部署流程(环境预检、混合模式选择、持久化配置)及声明式YAML配置,实现高效、灵活的双模运行时。此方案显著降低依赖冲突解决时间(从83分钟至0),生产环境构建耗时缩短至8分钟,并达100% CVE漏洞修复率,适合ERP定制开发与规模化部署的企业需求。
|
4月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
425 4
|
3月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
902 0
|
4月前
|
Linux iOS开发 Docker
MyEMS开源系统安装之Linux/macOS上的DOcker
本指南详细介绍了如何在Linux/macOS上使用Docker部署MyEMS系统。主要内容包括:前置条件(如安装Docker、npm和MySQL),以及分步骤部署各个组件(如myems-api、myems-admin、myems-modbus-tcp等)。每个步骤涵盖源代码复制、环境配置、镜像构建、容器运行及日志管理等操作,并提供了多平台构建的支持。最后,指南还说明了默认端口和登录凭据,帮助用户快速启动并访问MyEMS的管理界面和Web界面。
133 1
|
5月前
|
关系型数据库 MySQL 数据库
Docker 安装常用软件相关命令
本文介绍了在CentOS 7.9系统上安装Docker的详细步骤,包括添加阿里云镜像源、安装Docker及相关组件、启动服务以及配置镜像加速。同时,还展示了如何通过Docker安装MySQL 5.7版本数据库,涵盖拉取镜像、创建数据目录、运行容器及配置挂载点等操作,并提供验证安装成功的命令和截图。适合需要部署Docker与MySQL环境的用户参考。
313 5