首页 > 其他分享 >脚本安装Dockerfile安装Jenkins

脚本安装Dockerfile安装Jenkins

时间:2023-06-10 14:23:01浏览次数:35  
标签:-- 安装 root 19 Jenkins jenkins Docker Dockerfile Oct

#1.编写Docker安装脚本
[root@ip-10-0-12-212 ~]# vim Ins_Docker.sh 
#!/usr/bin/bash
# Author:wl
# Time:2023-06-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 

二、编写Dockerfile

epel下载地址:http://mirrors.sohu.com/fedora-epel/

 

jdk下载:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

Jenkins下载:https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/

2.249版本下载:https://pkg.jenkins.io/redhat-stable/jenkins-2.249.3-1.1.noarch.rpm

 

#1.创建Dockerfile存放目录
[root@ip-10-0-12-212 ~]# mkdir jenkins
[root@ip-10-0-12-212 ~]# cd jenkins

#2.编写Dockerfile
[root@ip-10-0-12-212 jenkins]# vim Dockerfile 
#Is my first jenkins Dockerfile
# Version 1.0

# Base images 基础镜像
FROM centos:7

#MAINTAINER 维护者信息
MAINTAINER Jin.Hui

#ADD  文件放在当前目录下,拷过去会自动解压
ADD jdk-8u131-linux-x64.tar.gz /opt/
COPY epel-release-latest-7.noarch.rpm /opt/
COPY jenkins-2.249.3-1.1.noarch.rpm /opt/

#RUN 执行以下命令
RUN rpm -ivh /opt/epel-release-latest-7.noarch.rpm \
    && rpm -ivh /opt/jenkins-2.249.3-1.1.noarch.rpm \
    && ln -s /opt/jdk1.8.0_131 /opt/jdk

COPY jenkins /etc/sysconfig/jenkins

#ENV 设置环境变量
ENV JAVA_HOME /opt/jdk
ENV PATH $JAVA_HOME/bin:$PATH

#VILUME 用于指定持久化目录
VOLUME ["/var/lib/jenkins"]

#EXPOSE 映射端口
EXPOSE 8080
EXPOSE 50000

#CMD 运行以下命令
CMD java -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins.war
#3.上传相关配置文件
[root@ip-10-0-12-212 jenkins]# rz
[root@ip-10-0-12-212 jenkins]# ll
total 246844
-rw-r--r-- 1 root root       820 Oct 19 15:36 Dockerfile
-rw-r--r-- 1 root root     15608 Oct 19 11:30 epel-release-latest-7.noarch.rpm
-rw-r--r-- 1 root root 185540433 Oct 18 15:25 jdk-8u131-linux-x64.tar.gz
-rw------- 1 root root      3113 Oct 18 17:37 jenkins
-rw-r--r-- 1 root root  67200896 Nov  5  2020 jenkins-2.249.3-1.1.noarch.rpm

三、构建Dockerfile

[root@ip-10-0-12-212 jenkins]# docker build --no-cache -t datalake_jenkins:v1 .
... ...
Successfully built 1e2736247512
Successfully tagged datalake_jenkins:v1

四、运行Docker容器

#1.运行Jenkins
[root@ip-10-0-12-212 jenkins]# docker run -d --name datalake_jenkins -p 10240:8080  -p 10241:50000 datalake_jenkins:v1
517aa3befbca0d9bfc1558c1d4fd4d5b3e0f4bfed6264c22b05254e8b2efb535

#2.查看Docker进程
[root@ip-10-0-12-212 jenkins]# docker ps
CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS         PORTS                                                                                        NAMES
517aa3befbca   datalake_jenkins:v1   "/bin/sh -c 'java -D…"   8 seconds ago   Up 6 seconds   0.0.0.0:10240->8080/tcp, :::10240->8080/tcp, 0.0.0.0:10241->50000/tcp, :::10241->50000/tcp   datalake_jenkins

五、验证Jenkins

#1.查看持久化存储
[root@ip-10-0-12-212 jenkins]# docker volume ls
DRIVER    VOLUME NAME
local     0cdee244e8f9bb50d0b6bfd34bf2bd0718235bcacca266d74747ae5a9618b2b0

#2.删除没有镜像使用的存储
[root@ip-10-0-12-212 jenkins]# docker volume rm $(docker volume ls -qf dangling=true)

#3.查看持久化存储位置
[root@ip-10-0-12-212 jenkins]# docker inspect 517aa3befbca |grep Source
                "Source": "/data/docker/volumes/0cdee244e8f9bb50d0b6bfd34bf2bd0718235bcacca266d74747ae5a9618b2b0/_data",

#4.查看持久化存储数据
[root@ip-10-0-12-212 jenkins]# cd /data/docker/volumes/0cdee244e8f9bb50d0b6bfd34bf2bd0718235bcacca266d74747ae5a9618b2b0/_data
[root@ip-10-0-12-212 _data]# ll
total 32
-rw-r--r--  1 root root 1640 Oct 19 17:02 config.xml
-rw-r--r--  1 root root  156 Oct 19 17:01 hudson.model.UpdateCenter.xml
-rw-------  1 root root 1712 Oct 19 17:01 identity.key.enc
-rw-r--r--  1 root root    7 Oct 19 17:01 jenkins.install.UpgradeWizard.state
-rw-r--r--  1 root root  171 Oct 19 17:01 jenkins.telemetry.Correlator.xml
drwxr-xr-x  2 root root    6 Oct 19 17:01 jobs
drwxr-xr-x  3 root root   19 Oct 19 17:01 logs
-rw-r--r--  1 root root  907 Oct 19 17:01 nodeMonitors.xml
drwxr-xr-x  2 root root    6 Oct 19 17:01 nodes
drwxr-xr-x  2 root root    6 Oct 19 17:01 plugins
-rw-r--r--  1 root root   64 Oct 19 17:01 secret.key
-rw-r--r--  1 root root    0 Oct 19 17:01 secret.key.not-so-secret
drwx------  4 root root  265 Oct 19 17:01 secrets
drwxr-xr-x  2 root root   67 Oct 19 17:02 updates
drwxr-xr-x  2 root root   24 Oct 19 17:01 userContent
drwxr-xr-x  3 root root   56 Oct 19 17:01 users
drwxr-xr-x 11 root root 4096 Oct 19 17:01 war

#5.WEB页面登录访问
http://52.82.80.128:10240
无法链接的话请升级内核参考文章
https://www.cnblogs.com/Wl55387370/p/17471211.html


 

六、安装Jenkins

#1.解锁Jenkins,找到Jenkins初始密码,输入此密码,点击继续
[root@ip-10-0-12-212 _data]# cat secrets/initialAdminPassword 
5900733b0c184e8f80b0650b8137cc9b

 

 

 

 

 

参考博客https://www.cnblogs.com/jhno1/category/1958442.html

标签:--,安装,root,19,Jenkins,jenkins,Docker,Dockerfile,Oct
From: https://www.cnblogs.com/Wl55387370/p/17470947.html

相关文章

  • ubuntu安装miniconda及其可能出现的问题
    什么是minicondaMiniconda是一个轻量级的Conda发行版,它是Anaconda的一个精简版本。Anaconda是一个流行的Python发行版,内置了Python解释器以及大量科学计算和数据科学相关的软件包。Miniconda的目标是提供一个更精简和灵活的发行版,它只包含了Conda包管理器和Python解释器,没有预安......
  • Docker安装Jenkins报错后升级Centos7升级内核
    很久没碰docker了,昨晚在虚拟机上用dockerpulljenkinsci/blueocean安装Jenkins启动报如下错误:java.net.UnknownHostException:updates.jenkins.io最后发现容器pingdocker0都是不通的,尴尬,想想应该是内核或docker版本的问题,安装的centos7内核版本是3.10,升级到最新稳定版5.x后重......
  • Jmeter接口自动化01_Jmeter简介与环境安装
    1JMeter简介越来越多的测试人员选择JMeter主要有以下几点原因:JMeter是基于Java的开源工具,扩展性强,可自定义开发插件;JMeter社区活跃,会定期更新、修改bug、优化功能;JMeter学习成本低,提供了方便的图形界面来编辑和开发测试脚本,上手快;JMeter可以和很多工具兼容,如Jenkins,方便测......
  • Rocky Linux 安装 Open Project
    一、概要1.环境(1)RockyLinux9.12.准备(1)SSL证书a.创建私钥目录sudomkdir/etc/ssl/privateb.生成证书和密钥OpenSSL系列c.移动证书sudomvopenproject.example.com.crt.pem/etc/ssl/certssudomvopenproject.example.com.key.pem/etc/ssl/private......
  • Rocky Linux 安装 OpenSSL 1.1.1
    一、概要1.环境(1)RockyLinux9.1(2)OpenSSL1.1.1u2.背景总所周知,RockyLinux9.1自带的OpenSSL是3.0.7版本(如下图),但是有些程序依然依赖OpenSSL1.1.x版本,这就要求我们掌握在同一个主机下同时安装两个不同版本的OpenSSL方法。二、安装与配置1.依赖(1)更新s......
  • DVWA安装及文件包含
    1.安装步骤:查看网络连接这样就是联网了安装所需要的环境安装apache :yum-yinstallhttpd 如果是这样说明安装成功如果这样说明没网(解决方法在开头)启动apache :servicehttpdstart 安装PHP    :yum-yinstallphp是这样则是安装好了不是这样请检查网络安装mysql-......
  • Sql2012安装
    在MSDN,我告诉你-做一个安静的工具站(itellyou.cn)中选择合适的版本;也可以直接ed2k://|file|cn_sql_server_2012_developer_edition_with_sp1_x64_dvd_1234492.iso|4231520256|C3653494E5E01CA5ADFAF910CBC32D75|/下载这个链接下载好后会进入这个界面我们选择左上角的安装......
  • Ubuntu常用软件安装
    前言最近,犹豫和纠结之后,又决定把ubuntu当做日常主要的系统来使用了,于是又开始新一轮折腾ubuntu的相关配置,一个算是给自己积累点知识库,另一个也算是提想尝试的小伙伴踩个坑,好了,废话少说,让我们直接开始吧。常用软件安装ubuntu系统的软件安装方式,一种是在线安装,也就是通过包管理命......
  • SQL SERVER 2008 R2安装教程
    1、下载sqlserver2008r2的安装包(如果需要安装包可以私我,密钥自动输入)2、打开安装包,点击setup.exe3、点击“安装”,下一步选择“全新安装或向现有的安装添加功能”4、检测完成后点击确定5、选择输入产品密钥,这里会自动输入,下一步6、选择“我接受许可条款”,下一步7、选......
  • 修改node默认的全局模块安装global路径和cache路径
    1、安装node后,全局模块的global路径和cache路径会默认的安装在C:\Users\{{账号}}\AppData\Roaming下,在这个目录下面会找到npm文件夹和npm_cache的文件夹。2、在其他的盘符建立npm_global文件夹和npm_cache文件夹。 3、在cmd窗口用下面命令修改路径。(如下命令引号内为你新建......