从 Docker Hub 拉取 Jenkins 容器镜像:

使用 SSH 工具以 root 用户身份连接到 Docker 主机 (docker-01.onitroad.com)。

使用 docker 命令搜索可用的 jenkins 镜像。

[root@docker-01 ~]# docker search jenkins --filter is-official=true
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
INDEX       NAME                        DESCRIPTION                     STARS   OFFICIAL   AUTOMATED
docker.io   docker.io/library/jenkins   Official Jenkins Docker image   4800    [OK]

只有一个官方 Jenkins docker 镜像可用,该镜像已被弃用,取而代之的是 jenkins/jenkins:lts 镜像。

jenkins/jenkins:lts 镜像由 Jenkins 社区维护,它是最合适和最新的 docker 镜像。

使用以下命令拉取 Jenkins docker 镜像。

[root@docker-01 ~]# docker pull jenkins/jenkins:lts
如何在 CentOS 8 中运行 Jenkins Docker 容器

在本文中,我们将学习如何在 CentOS 8 中运行 Jenkins Docker 容器。

欢迎来到之路教程(on itroad-com)

运行 Jenkins Docker 容器:

现在,我们有了所需的 Jenkins docker 镜像。
因此,我们可以使用以下命令创建并运行 Jenkins docker 容器。

[root@docker-01 ~]# docker run -p 8080:8080 \
> -p 50000:50000 \
> --name=jenkins-master \
> -v jenkins_home:/var/jenkins_home \
> -d --env JAVA_OPTS="-Xmx8192m" \
> --env JENKINS_OPTS="--handlerCountMax=300" \
> jenkins/jenkins:lts
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
e823fc1178a38973bfc61e22a848c61779868fe72d0428c8dec56df75d059a4d

Jenkins Docker 镜像的完整文档可在 Git Hub 获得。

在这里,我们只使用了几个必要的参数。

  • -p 8080:8080 -> 将 Docker 容器的 Jenkins Web UI 端口映射到 Docker 主机。
  • -p 50000:50000 -> 将 Docker 容器的 Build Slaves 端口映射到 Docker 主机。
  • --name=jenkins-master -> Jenkins docker 容器的名称
  • -v jenkins_home:/var/jenkins_home -> 绑定挂载,用于存储 Jenkins 容器数据和配置。
  • -d --env JAVA_OPTS="-Xmx8192m" -> 设置一个JVM内存参数
  • --env JENKINS_OPTS="--handlerCountMax=300" -> 设置 JENKINS_OPTS 环境变量
  • jenkins/jenkins:lts -> 用于创建 Jenkins docker 容器的图像

在 Docker 主机防火墙中允许所需的服务端口。

[root@docker-01 ~]# firewall-cmd --permanent --add-port=8080/tcp
success
[root@docker-01 ~]# firewall-cmd --permanent --add-port=50000/tcp
success
[root@docker-01 ~]# firewall-cmd --reload
success

什么是Jenkins?

Jenkins 是一个免费的开源自动化服务器。

Jenkins 有助于实现与构建、测试和部署相关的软件开发流程的自动化,从而促进持续集成和持续交付。

Jenkins 是用 Java 编写的,并在 MIT 许可证下分发。

Jenkins 是基于服务器的系统,它在 Java servlet 容器(例如 Apache Tomcat)中运行。

访问 Jenkins Web UI

使用 Google Chrome 浏览器浏览 URL http://docker-01.onitroad.com:8080。

由于我们是第一次访问 Jenkins Web 界面,因此,我们需要管理员密码才能登录 Jenkins Web 界面。

Jenkins Web 界面已提供密码文件的路径。
因此,我们可以使用 Docker cp 命令将此文件复制到 Docker 主机。

[root@docker-01 ~]# docker cp jenkins-master:/var/jenkins_home/secrets/initialAdminPassword .
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.

显示此文件的内容以获取管理员密码。

[root@docker-01 ~]# cat initialAdminPassword
6b7e5847bf7e41a5a90d8eceeade3e1b

使用此密码登录 Jenkins Web 界面。

我们已经在 CentOS 8 中成功运行了一个 Jenkins docker 容器。

日期:2020-09-17 00:12:38 来源:oir作者:oir