一、安装docker
ps:安装前提是已经安装了centos vm
1、设置下载docker的镜像源
|
1 |
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo |
2、安装docker
|
1 |
yum -y install docker-ce |
3.启动docker服务
|
1 |
systemctl start docker |
4、配置镜像加速
4.1、修改docker服务配置:vim /usr/lib/systemd/system/docker.service进入,找到参数:execstart=/usr/bin/dockerd
4.2、在该行参数后面追加:--registry-mirror=https://xfaawkne.mirror.aliyuncs.com
4.3、最终该行参数为:
|
1 |
execstart=/usr/bin/dockerd --registry-mirror=https://xfaawkne.mirror.aliyuncs.com -h fd:// --containerd=/run/containerd/containerd.sock |
4.4、重启docker
|
1
2 |
systemctl daemon-reload
systemctl restart docker |
二、创建自定义网络地址
|
1
2
3
4
5
6 |
//创建cbnet网络
docker network create --subnet=172.18.0.0/16 cbnet
//删除docker网络命令
docker network rm 网络ip名称
//查看docker 的网络定义
docker network ls |
三、docker创建容器
1、创建mysql、redis、nginx容器
|
1
2
3
4
5
6 |
mysql:
docker run -d --name mysql --network cbnet --ip 172.18.0.100 -p 3309:3306 -e mysql_root_password=123456 mysql
redis:
docker run -itd --name redis -p 6379:6379 --network cbnet --ip 172.18.0.102 redis
nginx:
docker run --name nginx -p 80:80 --network cbnet --ip 172.18.0.105 nginx //如果没有,会自动下载 |
四、自定义镜像
查看全部本地的镜像docker images
删除本地镜像 docker rmi 镜像的标识
1、在项目中的pom.xml文件下的plugins下面追加docker-maven插件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 |
<groupid>com.spotify</groupid>
<artifactid>docker-maven-plugin</artifactid>
<version>1.0.0</version>
<configuration>
<dockerhost>http://192.168.161.129:2375</dockerhost>
<imagename>creatorblue/spring-security</imagename>
<imagetags>
<imagetag>latest</imagetag>
</imagetags>
<forcetags>false</forcetags>
<dockerdirectory>${project.basedir}/src/main/resources</dockerdirectory>
<resources>
<resource>
<targetpath>/</targetpath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalname}.jar</include>
</resource>
</resources>
</configuration>
</plugin> |
2、在资源目录新建dockerfile文件,填写以下内容
|
1
2
3
4
5
6
7 |
from frolvlad/alpine-oraclejdk8:slim
user root
volume /tmp
add springboot-security-0.0.1-snapshot.jar app.jar
run sh -c 'touch /app.jar'
env java_opts="-server -xms256m -xmx512m -xx:metaspacesize=64m -xx:maxmetaspacesize=128m -dfile.encoding=utf-8 -duser.timezone=gmt+08"
entrypoint [ "sh", "-c", "java $java_opts -djava.net.preferipv4stack=true -djava.security.egd=file:/dev/./urandom -jar /app.jar" ] |
3、打包项目,右击项目选择run as下的 maven build 输入以下代码,点击run
|
1 |
docker:build -p prod或cleanpackge docker:build -p prod |
控制台出现如下图及成功
4、在虚拟机上修改docker.service配置,开放2375端口
|
1
2
3
4
5
6
7 |
1、首先进入docker.service文件
vim /usr/lib/systemd/system/docker.service
2、其次开放2375端口
-h tcp://0.0.0.0:2375
3、最后重启docker
systemctl daemon-reload
systemctl restart docker |
5、在虚拟机查看自定义镜像是否成功:docker images
6、配置自定义容器ip地址
|
1
2 |
docker run -d --name spring-security -p 8088:8080 -v /mnt/uploads : /mnt/uploads --network cbnet --ip 172.18.0.110
docker run -d --name spring-security2 -p 8089:8080 -v /mnt/uploads : /mnt/uploads --network cbnet --ip 172.18.0.111 |
最后启动mysql、redis、nginx、spring-security容器
五、配置nginx反向代理
实现负载均衡(一个ip登录后,第二个ip可以直接进入,不会互挤)
1、查看nginx目录
|
1
2 |
1、复制容器的文件:docker cp nginx:/etc/nginx/conf.d/default.conf default.conf
2、编辑文件:vi default.conf |
2、在default.conf文件增加代码
修改default.conf文件如下:
|
1
2
3
4
5
6
7
8
9 |
//同一个镜像下的2个容器
upstream my{
server 172.18.0.110:8080;
server 172.18.0.111:8080;
}
location /spring{
proxy_pass http://my;
} |
六、项目上传到git仓库
1、首先创建一个仓库
2、创建成功后,复制仓库地址
3、选择需要上传的项目并右击项目,选择team下的share project
最后点击finish完成!如图:
> 代表动过它但是没有提交
? 代表全新创建的
红色双箭头 代表远程也修改,本地也修改了,就报错
4、提交到本地仓库
右击项目,选择team下的commit
5、提交到远程仓库,右击项目,如以下图示例
如果从本文的第一步就复制了,就不需要复制了,eclipse已经同步了;如果一开始没复制,就需要复制git的仓库地址即可!
此时,刷新git网址,如下图就成功了
如果遇到拉取不了,上传也上不了问题,详见https://blog.csdn.net/zhangdandan04/article/details/115725977文章篇尾有解决步骤
七、使用jenkins发布、测试项目
进入官网https://www.jenkins.io/
1、安装jenkins
2、按照以下界面步骤依次在虚拟机安装
3、安装成功后,启动jenkins
访问地址虚拟机ip地址+jenkins默认端口8080
选择安装推荐的插件即可!
由于网络问题,所以有些插件安装失败,git已安装成功即可,可以点击继续进行下一步
4、在虚拟机上安装git
|
1 |
yum install -y git |
5、在jenkins中新建一个item,来构建项目,步骤如下:
点击构建成功的项目进行配置,点击确定
6、点击manage jenkins
并配置全局工具进行配置
7、虚拟机中下载jdk,并配置jdk
|
1
2
3
4 |
命令:
yum install -y javacc-maven-plugin.noarch
//搜索javac
find / -name javac |
8、配置maven
8.1、首先进入maven官网,复制maven的压缩包
8.2、回到home目录,使用wget+粘贴刚刚复制的maven地址
解压文件
8.4、文件解压后,进入maven并进入cd conf中,修改settings.xml文件,里面加载阿里云服务器进行提速
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 |
1、进入编辑命令:vi settings.xm
2、在mirrors中新增阿里云服务器
<mirror>
<!--this sends everything else to /public -->
<id>aliyun</id>
<mirrorof>*</mirrorof>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror>
<!--this is used to direct the public snapshots repo in the
profile below over to a different nexus group -->
<id>aliyun-public-snapshots</id>
<mirrorof>*</mirrorof>
<url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
</mirror> |
8.5、进行配置
9、调用顶层maven目标
进入到构建项目的设置中
并构建maven项目,打包命令clean install -p prod,点击保存即可
10、在虚拟机上找到spring-security路径
11、完成构建项目
以下界面及启动成功!
jenkins 运行常遇到的错误:
1、在虚拟机下载jdkyum install -y javacc-maven-plugin.noarch
2、jenkins访问权限不够
|
1
2 |
解决权限的命令
vim /etc/sysconfig/jenkins |
3、execute shell写错项目名称
13、测试url访问地址
最后,当需要给项目升级时,首先完成代码编写,其次commit and push上传到git仓库,再在jenkins重新构建,再次访问新的接口即可,如以下示例步骤
补充:可以写有个脚本同时启动多个容器
1、编写启动多个容器的脚本:vi auto.sh
2、例如:启动三个容器
|
1
2
3
4 |
!/bin/bash
docker run -d --name spring-security -p 8087:8080 -v /mnt/uploads:/mnt/uploads --network cbnet --ip 172.18.0.10 cetorblue/spring-security
docker' run -d --name spring-security -p 8088:8080 -v/mnt/uploads : /mnt/uploads --network chnet --ip 172.18.0.10 creatorblue/spring-security
docker run_-d --name spring-security -p 8089:8080 -v /mnt/uploads : /mnt /uploads --network chnet --ip17.18.0.10 cretorblue/spring-security |
最后启动 sh auto.sh即可!
到此这篇关于docker使用git实现jenkins发布、测试项目的详细流程的文章就介绍到这了,更多相关docker jenkins发布测试项目内容请搜索快网idc以前的文章或继续浏览下面的相关文章希望大家以后多多支持快网idc!
相关文章
- 服务器租用价格怎么计算?服务器租用多少钱一年? 2025-05-27
- 云服务器的“弹性”体现在哪些方面? 2025-05-27
- 刀片服务器是什么 刀片服务器的主要特点 2025-05-27
- 利用FTP和计划任务自动备份网站数据和数据库 2025-05-27
- 服务器技术之硬件冗余技术 2025-05-27
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
2025-05-26 52
-
2025-05-27 98
-
2025-05-27 65
-
2025-05-27 62


















































