之前在阿里云上使用Rancher来管理容器和部署项目,但是阿里云上也有自己的容器服务,也来试试看
创建容器集群
SpringBoot Build 镜像
在pom.xml
中引入plugin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.6</version> <configuration> <dockerHost> docker Server地址 如果本地则不需要 </dockerHost> <dockerCertPath> 证书文件路径 </dockerCertPath> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory> Dockerfile路径 </dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin>
|
在dockerDirectory
创建Dockerfile
1 2 3 4 5 6 7 8 9
| FROM java:8-jre VOLUME /tmp ADD app.jar app.jar RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime RUN echo "Asia/Shanghai" > /etc/timezone RUN bash -c 'touch /app.jar' ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
#app.jar 为 ${project.build.finalName}
|
利用maven
打包docker 镜像
1
| mvn -Dmaven.test.skip=true clean package docker:build
|
推送镜像到阿里云镜像中心
登录阿里云docker registry
1 2 3
| docker login --username=$email registry.cn-xxx.aliyuncs.com docker tag [ImageId] registry.cn-xxx..aliyuncs.com/$namespace/$project:[镜像版本号] docker push registry.cn-xxx.aliyuncs.com/$namespace/$project:[镜像版本号]
|
启动应用
在阿里云容器服务的应用中创建应用,选择刚刚推送到阿里云中的镜像,映射8080端口 即可创建应该,应用会自动部署相关服务到各节点。
参考