docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > maven构建docker镜像push到镜像仓库

maven构建docker镜像push到镜像仓库方式

作者:乄名007

这篇文章主要介绍了maven构建docker镜像push到镜像仓库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

maven构建docker镜像push到镜像仓库

registry私人镜像仓库

docker pull hub.c.163.com/library/registry:latest
 
Docker tag imageid registry
 
docker run -d -p 5000:5000 -v /Users/zhongxing/docker/registry/opt:/var/lib/registry registry

pom.xml: 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
 
	<artifactId>base-eureka</artifactId>
	<packaging>jar</packaging>
 
	<name>base-eureka</name>
	<description>Demo project for Spring Boot</description>
 
	<parent>
		<groupId>com.zxing</groupId>
		<artifactId>base-ms</artifactId>
		<version>1.0-SNAPSHOT</version>
	</parent>
 
	<properties>
		<docker.registry>192.168.20.200:5000</docker.registry>
		<push.image>true</push.image>
	</properties>
 
	<dependencies>
 
		<dependency>
			<groupId>net.logstash.logback</groupId>
			<artifactId>logstash-logback-encoder</artifactId>
			<version>4.10</version>
		</dependency>
 
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
		</dependency>
 
	</dependencies>
 
	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
			<resource>
				<directory>${env}</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<executions>
					<execution>
						<goals>
							<goal>repackage</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.spotify</groupId>
				<artifactId>docker-maven-plugin</artifactId>
				<version>0.4.13</version>
				<configuration>
					<imageName>${docker.registry}/${project.groupId}/${project.artifactId}:${project.version}</imageName>
					<dockerDirectory>${basedir}/src/main/docker</dockerDirectory>
					<pushImage>${push.image}</pushImage>
					<resources>
						<resource>
							<directory>${project.build.directory}</directory>
							<include>${project.build.finalName}.jar</include>
						</resource>
					</resources>
				</configuration>
			</plugin>
		</plugins>
	</build>
 
 
</project>

Dockerfile:

FROM java:8
ADD base-eureka-1.0-SNAPSHOT.jar app.jar
CMD ["java","-jar","app.jar"]

mac配置insecure registrie 

(docker push fail。。。)

maven运行:

docker:build

打包结果:

运行:

docker run -d -p 8761:8761 --name=eureka 192.168.20.200:5000/com.zxing/base-eureka:1.0-SNAPSHOT

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文