使用Dockerfile脚本创建jdk1.8镜像

新建jdk目录:(-p表示需要父目录,不然就会出错)

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
mkdir -p /usr/local/dockerjdk1.8

将jdk的压缩文件复制到上面的路径

Linux上使用vim在上面创建的目录中创建Dockerfile文件,这里文件内容如下

#依赖镜像名称和ID
FROM centos:7
#指定镜像创建者信息
MAINTAINER ITCAST
#切换工作目录
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把java添加到容器中
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

docker创建镜像

docker build -t='jdk1.8' .

最后创建容器

docker run -it --name=myjdk8 jdk1.8 /bin/bash

注意这里使用Dockerfile创建镜像的好处就是可以提供一致的开发环境,方便运维的无缝移植

docker创建私有仓库

分别运行下面的命令创建

docker pull registry
docker run -di --name=registry -p 5000:5000 registry

打开浏览器直接访问http://宿主机的IP:5000/v2/_catalog就可以看到对应的内容

修改仓库的地址

vim /etc/docker/daemon.json

修改内容如下,添加一行   "insecure-registries":["192.168.217.131:5000"]

{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries":["192.168.217.131:5000"]
}

 

 

镜像上传至私有仓库

标记镜像是私有仓库的镜像

docker tag jdk1.8 192.168.217.131:5000/jdk1.8

启动仓库上传镜像

docker start registry
docker push 192.168.217.131:5000/jdk1.8

 

 

通过maven插件实现自动部署

修改宿主机的设置

vim  /lib/systemd/system/docker.service

在ExecStart后面添加下面内容

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

刷新配置重启服务

systemctl daemon‐reload  
systemctl restart docker  
docker start registry

在工程的pom文件中加入下面的插件设置

<build>
<finalName>app</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>192.168.217.131:5000/${project.artifactId}:${project.version}</imageName>
<baseImage>jdk1.8</baseImage>
<entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost>http://192.168.217.131:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>

上面的配置会自己生成下面的Dockerfile的内容

FROM jdk1.8  
ADD app.jar /  
ENTRYPOINT ["java","‐jar","/app.jar"]

在对应工程的主目录下使用maven命令,打包镜像并且上传

mvn clean package docker:build  ‐DpushImage

这时候刷新http://192.168.217.131:5000/v2/catalog就会出现json数据中多了一个镜像。

使用docker images查看镜像就会发现多了个镜像,这时候创建对应的容器实现访问对应的接口

 

搭建Git服务

Gogs: 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务

docker pull gogs/gogs
docker run ‐d ‐‐name=gogs ‐p 10022:22 ‐p 3000:3000 ‐v /var/gogsdata:/data  gogs/gogs

docker 中-v表示的是挂载,将gogs的数据文件挂载到前面的文件夹。

访问3000端口就能看到安装界面,安装对应的gogs,IP是宿主机的IP,端口号是3000,内置数据库,如果自己的项目很大就使用MySQL,不大就是用SQLite就好了,最后注册进入

创建仓库,为了简单就设置了公有的

docker制作镜像 随笔 第1张

仓库地址

docker制作镜像 随笔 第2张

 

 配置IDEA中的Git实现Git服务

 

 在vcs中选择菜单VCS  --> Enable Version Control Integration

Git-->remotes添加Git服务的地址

docker制作镜像 随笔 第3张

最后想Git添加工程

Git-->add

Git-->commit

Git-->push

 

 

jenkins实现持续集成

 

 这里直接将Jenkins安装在宿主机上

下载安装

rpm -ivh jenkins-2.164.1-1.1.noarch.rpm 

修改配置

vi /etc/sysconfig/jenkins

设置端口号和用户

JENKINS_USER="root"
JENKINS_PORT="8888"

最后启动Jenkins,访问对应的8888端口

登录的初始密码在/var/lib/jenkins/secrets/initialAdminPassword文件中,使用cat命令查看

cat /var/lib/jenkins/secrets/initialAdminPassword

选择安装的插件,这里需要安装maven integration和Git插件

创建用户

还需要安装本地maven,将下载的maven压缩包解压到usr/local/maven目录下面,,将本机使用的仓库复制一份到宿主机上,存放在/usr/local/repository中

设置maven的settings.xml 文件,设置对应的本地仓库地址

 

配置初始的mavenHOME和JAVAHOME

 

docker制作镜像 随笔 第4张

 

docker制作镜像 随笔 第5张

创建任务

 

docker制作镜像 随笔 第6张

添加源码(项目)位置

docker制作镜像 随笔 第7张

添加pom.xml文件位置还有对应的maven命令(pom文件需要注意要是想要制作模块的pom文件)

docker制作镜像 随笔 第8张

最后执行程序就可以使用docker images查看创建好的镜像。再创建对应的容器就可以直接使用了

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄