获取jar包

jar包自己通过maven打包

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<skipTests>true</skipTests> <!--默认关掉单元测试 -->
</configuration>
</plugin>
</plugins>

在启动module中的pom添加

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 指定该Main Class为全局的唯一入口 -->
<mainClass>com.lht.admin.CloudLearningApplication</mainClass>
<layout>ZIP</layout>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

执行package命令

创建Dockerfile文件

文件内容:

# 拉取jdk8作为基础镜像
FROM java:8
# 作者
MAINTAINER lht
# 添加jar到镜像并命名为app.jar
ADD admin-0.0.1-SNAPSHOT.jar app.jar
# 镜像启动后暴露的端口
EXPOSE 8001
# jar运行命令,参数使用逗号隔开
ENTRYPOINT ["java","-jar","user.jar"]
#或者使用 代替上面“CMD java -jar app.jar”

文件路径

Dockerfile和jar包的路径

Docker部署springboot项目全过程_maven

构建镜像

在当前jar包文件路径下执行

  • app:镜像名称
  • . : 表示当前目录
docker build -t app .

运行镜像

# --restart=always 表示docker容器在停止或服务器开机之后会自动重新启动
docker run -d --restart=always --name app -p 80:443 -v /docker/logs/test:/logs app

Docker部署springboot项目全过程_java_02

查看日志

docker logs -f --tail=100 app

完成!!!

后续可以自己启动或者停止