用户也可以在本地网络内创建一个私有仓库。

当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

2.2.2.部署微服务到Docker

1.安装

centos7:

直接通过yum安装即可:yum install -y docker

启动docker:service docker start

查询docker版本:docker version

centos6:

rpm -ivh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

yum install -y docker-io

service docker start

2.部署

1、工程最终打成 Jar包

2、创建Docker镜像

3、创建容器

4、启动容器

3.打包(省略了 大家都会)

4.创建镜像

上一步jar包拷贝到linux服务器先测试jar包是否可以运行:java -jar test-1.0-SNAPSHOT.jar

在test-1.0-SNAPSHOT.jar 位置编写Dockerfile文件

FROM java:8

ENV ARTIFACTID test

ENV ARTIFACTVERSION 1.0-SNAPSHOT

ENV HOME_PATH /home

WORKDIR $HOME_PATH

ADD / A R T I F A C T I D − ARTIFACTID- ARTIFACTIDARTIFACTVERSION.jar H O M E P A T H / HOME_PATH/ HOMEPATH/ARTIFACTID.jar

ENTRYPOINT [“java”, “-jar”, “test.jar”]

在Dockerfile文件所在目录执行:docker build -t test:1.0-SNAPSHOT.jar

镜像创建成功,查询镜像:

[root@localhost xc-govern-center]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

test 1.0-SNAPSHOT ad14dcce6666 35 seconds ago 684 MB

5.创建容器

基于test:1.0-SNAPSHOT镜像创建容器,容器名称为test-demo

docker create --name test-demo -t -p 50101:50101 -e PORT=50101 -e EUREKA_SERVER=http://192.168.101.64:50101/eureka/,http://192.168.101.64:50102/eureka/ test:1.0-SNAPSHOT

创建成功后 可通过docker ps -a命令查看

6.启动容器

docker start test-demo

7.停止与删除

1、停止正在运行的容器

docker stop 容器名

例如:docker stop test-demo

2、删除容器

docker rm 容器名

例如:docker rm test-demo

3、删除镜像

docker rmi 镜像名或镜像Id

例如:docker rmi test:1.0-SNAPSHOT

8.maven构建镜像

a.编写pom_docker.xml

b.将Dockerfile文件拷贝到src/main/resource下

c.删除之前创建的xc-govern-center镜像

d.进入工程根目录(pom_docker.xml所在目录)执行:mvn -f pom_docker.xml clean package -DskipTests docker:build

创建镜像成功,结果如下:

Successfully built 64682c9ba311

[INFO] Built xc-govern-center:1.0-SNAPSHOT

[INFO] Tagging xc-govern-center:1.0-SNAPSHOT with 1.0-SNAPSHOT

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 7.409 s

[INFO] Finished at: 2018-07-19T14:21:16+08:00

[INFO] Final Memory: 52M/414M

[INFO] ------------------------------------------------------------------------

2.3.持续集成


问题描述:

传统的软件开发流程如下:

1、项目经理分配模块给开发人员

2、每个模块的开发人员并行开发,并进行单元测试

3、开发完毕,将代码集成部署到测试服务器,测试人员进行测试。

4、测试人员发现bug,提交bug、开发人员修改bug

5、bug修改完毕再次集成、测试。

问题描述:

1、模块之间依赖关系复杂,在集成时发现大量bug

2、测试人员等待测试时间过长

3、软件交付无法保障

解决上述问题的思考:

1、能否把集成测试时间提前?

2、能否使用自动化工具代替人工集成部署的过程?

持续集成的思想是每天要多次将代码合并到主干,并进行集成、测试,这样就可以提早发现错误,进行修正。持久集成也属于DevOps

优点:

1、自动化集成部署,提高了集成效率。

2、更快的修复问题。

3、更快的进行交付。

4、提高了产品质量。

1.此处测试项目集成流程如下:

在这里插入图片描述

2.环境搭建

a.安装Jenkins 官网地址:Jenkins官网

具体安装文档网上都有的 没有私信博主也可以

b.安装GitLab(见上文)

c.pom

此文件相比工程原有pom.xml增加了docker-maven-plugin插件,其作用是构建docker镜像并将镜像推送到Docker私有仓库(192.168.101.64:5000)

2.4.创建持续集成任务


1.Jenkins构建一个任务

2.配置git仓库

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

[外链图片转存中…(img-4kuXqZlm-1712482796700)]

给大家整理的电子书资料:

[外链图片转存中…(img-LCs6zgbd-1712482796700)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-oX8pHSkj-1712482796700)]

Logo

一站式 AI 云服务平台

更多推荐