• 第十章 Docker安装Jenkins-2.249.3-1.1


    一、安装Docker

    Docker部署Jenkins前提已经安装Docker,这边脚本安装Docker。
    
    #1.编写Docker安装脚本
    [root@ip-10-0-12-212 ~]# vim Ins_Docker.sh 
    #!/usr/bin/bash
    # Author:jh
    # Time:2021-10-09  11:54:22
    # Name:Ins_Docker.sh
    # Version: 1.0
    # Discription: To  
    source /etc/init.d/functions
    
    rely_software=(yum-utils device-mapper-persistent-data lvm2)
    
    echo "-----------------#1.检测系统内核版本-----------------"
    kernel_version=`uname -a |awk '{print $3}'|cut -d. -f1`
    [ $kernel_version -ge 3 ] &&  action "The System Install Docker is ..." /usr/bin/true || action "The System Can not Install Docker is ..." /usr/bin/false;exit
     
    echo "-----------------#2.安装Docker依赖软件-----------------"
    for i in ${rely_software[*]}
    do       
        rpm -q $i &>/dev/null
        if [ $? -eq 0 ];then
            echo "$i is installed"            
        else            
            yum -y install $i  &>/dev/null                                                           
            action "$i is installing"  /usr/bin/true           
        fi                     
    done
    
    echo "-----------------#3.添加Docker镜像源-----------------"
    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    [ $? -eq 0 ] && action "Docker Image add is ..." /usr/bin/true || echo "Docker Image add is ..." /usr/bin/false;exit
    
    echo "-----------------#4.安装Docker-----------------"
    yum -y install docker-ce 
    rpm -qa |grep docker-ce 
    [ $? -eq 0 ] && action "Docker-ce is installed ..." /usr/bin/true || action "Docker-ce is install ..." /usr/bin/false;exit
    
    echo "-----------------#5.启动Docker并设置开机自启-----------------"
    systemctl enable --now docker
    [ $? -eq 0 ] && action "Docker Start is ...;" /usr/bin/true || action "Docker start is ..." /usr/bin/false
    docker_version=`docker -v |awk -F ',' '{print $1}'`
    
    echo "-----------------#6.设置Docker加速器-----------------"
    sudo mkdir -p /etc/docker
    sudo cat >/etc/docker/daemon.json <<EOF
    {
          "registry-mirrors": ["https://8mh75mhz.mirror.aliyuncs.com"]
      }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    echo "-----------------#7.查看Docker是否安装完成-----------------"
    cat << EOF
    +-------------------------------------------------+
    | $docker_version 安 装 已 完 成           |
    | 请 使 用 相 关 服 务 !                          |
    +-------------------------------------------------+
    EOF
    
    echo "-----------------#8.迁移Docker根目录-----------------"
    systemctl  stop docker
    mv /var/lib/docker/ /data/
    sed -i 's#ExecStart=/usr/bin/dockerd#ExecStart=/usr/bin/dockerd --graph=/data/docker#g' /usr/lib/systemd/system/docker.service
    systemctl daemon-reload
    systemctl start docker.service
    
    echo "-----------------#9.验证Docker根目录是否生效-----------------"
    docker info |grep "Docker Root Dir"
    
    sleep 5
    
    echo ""-----------------你的小可爱已完成Docker全部部署-----------------"
    
    #2.给脚本添加执行权限
    [root@ip-10-0-12-212 ~]# chmod +x Ins_Docker.sh 
    
    #3.执行脚本
    [root@ip-10-0-12-212 ~]# sh Ins_Docker.sh 
    

    二、拉取Jenkins镜像文件

    [root@ip-10-0-12-212 ~]# docker pull jenkins/jenkins
    

    三、创建挂载目录并授权

    [root@ip-10-0-12-212 ~]# mkdir -p /data/jenkins_mount
    [root@ip-10-0-12-212 ~]# chmod  777 /data/jenkins_mount
    

    四、创建并启动Jenkins容器

    [root@ip-10-0-12-212 ~]# docker run -d -p 10240:8080 -p 10241:50000 -v /data/jenkins_mount:/var/jenkins_home -v /etc/localtime:/etc/localtime --name Datalake_Jenkins jenkins/jenkins
    e0a9964d61fd5eb9f1c0eae0f2f18bdbfcd03ff0d5c2cc0d0beae31c134afa75
    

    五、查看jenkins是否启动成功

    [root@ip-10-0-12-212 ~]# docker ps
    CONTAINER ID   IMAGE             COMMAND                  CREATED          STATUS          PORTS                                                                                        NAMES
    e0a9964d61fd   jenkins/jenkins   "/sbin/tini -- /usr/…"   13 seconds ago   Up 12 seconds   0.0.0.0:10240->8080/tcp, :::10240->8080/tcp, 0.0.0.0:10241->50000/tcp, :::10241->50000/tcp   Datalake_Jenkin
    

    六、查看docker容器日志

    [root@ip-10-0-12-212 ~]# docker logs Datalake_Jenkins
    Running from: /usr/share/jenkins/jenkins.war
    webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")
    2021-10-18 02:00:12.630+0000 [id=1]	INFO	org.eclipse.jetty.util.log.Log#initialized: Logging initialized @1247ms to org.eclipse.jetty.util.log.JavaUtilLog
    2021-10-18 02:00:12.772+0000 [id=1]	INFO	winstone.Logger#logInternal: Beginning extraction from war file
    2021-10-18 02:00:14.184+0000 [id=1]	WARNING	o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath
    2021-10-18 02:00:14.319+0000 [id=1]	INFO	org.eclipse.jetty.server.Server#doStart: jetty-9.4.43.v20210629; built: 2021-06-30T11:07:22.254Z; git: 526006ecfa3af7f1a27ef3a288e2bef7ea9dd7e8; jvm 11.0.12+7
    2021-10-18 02:00:14.887+0000 [id=1]	INFO	o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
    2021-10-18 02:00:14.969+0000 [id=1]	INFO	o.e.j.s.s.DefaultSessionIdManager#doStart: DefaultSessionIdManager workerName=node0
    2021-10-18 02:00:14.969+0000 [id=1]	INFO	o.e.j.s.s.DefaultSessionIdManager#doStart: No SessionScavenger set, using defaults
    2021-10-18 02:00:14.973+0000 [id=1]	INFO	o.e.j.server.session.HouseKeeper#startScavenging: node0 Scavenging every 660000ms
    2021-10-18 02:00:15.909+0000 [id=1]	INFO	hudson.WebAppMain#contextInitialized: Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
    2021-10-18 02:00:16.516+0000 [id=1]	INFO	o.e.j.s.handler.ContextHandler#doStart: Started w.@316a598d{Jenkins v2.316,/,file:///var/jenkins_home/war/,AVAILABLE}{/var/jenkins_home/war}
    2021-10-18 02:00:16.586+0000 [id=1]	INFO	o.e.j.server.AbstractConnector#doStart: Started ServerConnector@505a9d7c{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
    

    七、访问Jenkins

    访问Jenkins页面,http://52.82.80.128:10240
    

    八、安装Jenkins

    [root@ip-10-0-12-212 ~]# cd /data/jenkins_mount/
    [root@ip-10-0-12-212 jenkins_mount]# cat secrets/initialAdminPassword 
    67925445271c4fe593ba83eede0f9c75
    

    #2.选择安装推荐的插件
    

    #3.填入相应的管理用户信息,点击保存并完成。
    

    #4.配置此处Jenkins的URL。
    

    #5.此处Jenkins已经安装就绪,点击开始使用Jenkins。
    

    #6.此处已经进入Jenkins页面,右下角显示安装的版本号,至此Jenkins安装完毕。
    

  • 相关阅读:
    IOS7 About
    iOS Newsstand Tutorial
    微信开发商
    网络流量监控相关资料
    EDM about
    thinkphp验证码的实现
    thinkphp表单上传文件并将文件路径保存到数据库中
    thinkphp分页实现
    linux 系统简单备份
    Google Hacking总结
  • 原文地址:https://www.cnblogs.com/jhno1/p/15426643.html
Copyright © 2020-2023  润新知