项目打包

IDEA

使用 IDEA 打包项目时注意,需要加入 maven 插件,否则只会生成项目 .class 字节文件,缺少 lib 依赖。

1
2
3
4
5
6
7
8
9
<build>
<finalName>打包的jar包文件名</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

使用 Maven

前提:已经配置好了 Maven 的环境变量

在需要打包的项目根目录下(有 pom 文件的目录)执行 maven 命令,先清除,再打包

1
mvn clean package

对于打包项目某个模块时,需要依赖项目的其他模块,如果此时直接打包会提示依赖找不到,这时候需要先将依赖的模块安装到 maven 的本地仓库去,再执行打包

1
2
mvn install
mvn clean package

制作镜像

Dockerfile

编辑 Dockerfile 文件

1
2
3
4
5
6
7
8
#依赖镜像名称和ID
FROM openjdk:8-jdk-alpine
#临时目录
VOLUME /tmp
#COPY maven打包好的jar包名字 后面命令执行的文件名(两者最好保持一致)
COPY service-payment.jar service-payment.jar
#运行起来的时候,执行的命令
ENTRYPOINT ["java","-jar","/service-payment.jar", "&"]

生成镜像

将打包好的 .jar文件和编辑好的 Dockerfile 文件放在同一路径下

linux 中执行命令

1
docker build 文件路径 -t 镜像名字:版本号

使用命令docker images即可看到打包好的镜像,创建容器运行

1
docker run -d --name=payment -p8205:8205 payment:1.0

查看详细信息

1
docker inspect payment

问题

如果制作镜像两次,IMAGE ID 相同,此时不能使用 IMAGE ID 删除只做好的镜像,会报错

此时要通过 REPOSITORY+ : + TAG 删除

1
2
docker rmi payment:2.0
docker rmi payment:3.0