美文网首页linux答疑Docker容器
CentOS 7 使用Docker搭建Jenkins

CentOS 7 使用Docker搭建Jenkins

作者: 黑客不黑_ | 来源:发表于2019-03-05 08:38 被阅读35次

    1. 前提是Docker已经安装好了

    没有安装的可以看这篇文章-->CentOS 7安装Docker

    2.拉取Jenkins镜像

    docker pull jenkins/jenkins:lts
    #使用命令查看拉取到的镜像
    docker images
    

    3. 运行JenKins镜像

    docker run -d -v jenkins_home:/home/service/jenkins -p 7070:8080 -p 50000:50000 --name jenkins jenkins/jenkins:lts
    

    参数说明

    • -d 以守护模式运行镜像,也就是后台运行
    • -v 把Jenkins容器内的目录挂载到宿主机的目录
    • -p 宿主机端口映射的镜像端口,左边是宿主机端口,右边是镜像端口,7070是Jenkins访问端口,另外还要暴露一个tcp端口50000
    • --name给容器起一个唯一的别名

    启动后输入docker ps -a即可查看运行的容器:

    4. 访问Jenkins

    浏览器访问http://ip:7070即可进入Jenkins

    但是我希望通过nginx转发进入jenkins,所以接下来配置nginx转发到Jenkins

    没有安装nginx的可以看这里-->CentOS 7使用Docker搭建Nginx

    5.实现同主机不同容器通信

    刚开始配的时候,傻傻的直接用nginx转发到7070端口,结果发现怎么都访问不到,琢磨半天之后突然想起来前几天看的【Docker技术入门与实战第二版】中说的容器通信,让我恍然大悟

    容器通信方式很多种,我这里选择docker的link机制来访问

    停止并删除nginx容器

    docker stop nginx
    docker rm nginx
    

    首先修改nginx的配置文件:

        location / {
            #代理地址:将请求转到该地址,jenkins为容器名
            proxy_pass http://jenkins:7070;
            proxy_connect_timeout 600;
            proxy_read_timeout 600;
        }
    

    在nginx容器启动命令使用--link 容器名 来访问Jenkins容器

    docker run -p 80:80  -p 443:443 --name nginx \
        --link jenkins  \
        -v /home/service/nginx/static:/usr/share/nginx/html \
        -v /home/service/nginx/log:/var/log/nginx \
        -v /home/service/nginx/conf/nginx.conf:/etc/nginx/conf \
        -d nginx
    

    然后访问https://ip访问即可,第一次进入需要登陆

    密码需要进入jenkins容器里面获取

    docker exec -it jenkins /bin/bash
    cat /var/jenkins_home/secrets/initialAdminPassword
    

    得到的密码登陆即可

    6. 配置Jenkins

    想方便的可以直接安装推荐的插件,我选择自定义安装
    之后慢慢等待安装完成即可,时间有点久

    7.给jenkins配置一个二级域名

    相关文章

      网友评论

        本文标题:CentOS 7 使用Docker搭建Jenkins

        本文链接:https://www.haomeiwen.com/subject/cjchuqtx.html