Docker生成web项目镜像image的二种方式
第一种:
1、 先通过maven插件打包生成jar文件、上传到linux系统上,同时在jar文件的同级目录下,生成Dockerfile文件。
Dockerfile文件的内容如下:
FROM java:8
VOLUME ./tmp
add eureka-server-1.0-SNAPSHOT.jar app.jar
#RUN bach -c 'touch /app.jar'
EXPOSE 8761
ENTRYPOINT ["java","-jar","/app.jar"]
2、构建docker镜像,构建命令如下:
docker build -t ck/eureka-server:0.02 .
3、生成docker镜像文件,如下所示:
4、运行docker镜像,生成容器,命令如下:
docker run -p 8706:1111 ck/eureka-server:0.02
访问http://ip:8706,可以访问eureka主页,容器启动成功;
第二种:
直接通过maven插件生成镜像文件:
1、在项目中引入docker-maven-plugin插件:
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.12</version>
<configuration>
<!-- 注意imageName一定要是符合正则[a-z0-9-_.]的,否则构建不会成功 -->
<!-- 详见:https://github.com/spotify/docker-maven-plugin Invalid
repository name ... only [a-z0-9-_.] are allowed-->
<imageName>microservice-discovery-eureka</imageName>
<baseImage>java</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]
</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
2、配置DOCKER_HOST环境变量:
3、运行镜像生成命令:
mvn clean package docker:build
4、登陆docker主机查看镜像文件:
5、启动:略