编译springboot项目
- 大家可以使用git pull 我准备好springboot demo项目下:
git pull https://github.com/wenshangbei/Jenkins_demo.git
- 使用maven打包好项目
mvn package
编写Dockerfile
创建Dockerfile文件,我在github的demo项目里面已经创建了。
# 指定base image
FROM openjdk:8-jdk-alpine
# 挂载容器/tmp到hos主机上的/var/lib/docker/volumes 里面的目录
VOLUME /tmp
# 将target里面的jar文件添加到镜像,以app.jar命名
ADD target/*jar app.jar
# 使用ENTRYPOINT 在容器运行时使用命令 jave -jar /app.jar
ENTRYPOINT [ "java", "-jar", "/app.jar" ]
使用Docker构建Image
docker build -t 192.168.108.131/library/jenkins_demo:v1.0.0 --no-cache .
其中 -t
是用来打tag的,192.168.108.131
是harbor或者其它镜像仓库的域名或者IP,library
为harbor里的project名,jenkins_demo
就是自己的镜像名,v1.0.0
为镜像版本号。
运行自己构建的Image
docker run -p 8888:8080 -d 192.168.108.131/library/jenkins_demo:v1.0.0
结果返回容器ID。
其中-p
指定host端口8888映射到容器里面的8080端口,我们可以通过host端口8888去访问,例如http://127.0.0.1:8888/testMethod
-d
是后台运行,运行后返回容器ID
curl http://127.0.0.1:8888/testMethod
会返回response
Push Image到Harbor
- 先login到Harbor,输入账号跟密码
docker login 192.168.108.131
其中192.168.108.131
为Harbor的IP
2. 使用docker push,根据自己的信息修改以下命令:
docker push 192.168.108.131/library/jenkins_demo:v1.0.0
问题总结
基本大家会遇到Error response from daemon: … connect: connection refused 问题
请参考:https://blog.youkuaiyun.com/programer_bei/article/details/101462821