一、先有一个jar包
1.1SpringBoot快速构建
这个想必大家都会,自己去创建一个即可。需要注意的是,pom.xml记得配置build
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.kiki.app.SingletonServerApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<!--创建一个自动可执行的jar或war文件 -->
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
而后如果你使用右侧maven可视化构建,记得跳过test哦
如果使用命令打包
# -DskipTests 跳过测试
# -Dspring.profiles.active=test 指定配置文件
mvn clean install -DskipTests -Dspring.profiles.active=test
然后你就会得到一个jar包。
1.2准备一台Linux 服务器
将jar包上传到指定文件下(文件夹自己建即可),然后创建文件 Dockerfile
1.3编辑Dockerfile
vim Dockerfile
# 指定jdk
FROM openjdk:8
# 打标签
LABEL author=kiki
# 将你的jar 与Dockerfile同级的singleton-app-1.0.jar 复制给新系统的根目录下,也就是镜像里
COPY singleton-app-1.0.jar /singleton-app.jar
# 暴露端口9999
EXPOSE 9999
# 执行命令 java -jar /singleton-app.jar
# 会按下面的命令启动
ENTRYPOINT ["java","-jar","/singleton-app.jar"]
编辑好你的Dockerfile
需要在jar包目录所在地执行如下命令,将jar打成Docker镜像
# -f 使用一个文件构建镜像
# Dockerfile 文件就是Dockerfile
# -t 全称是 --tag 指要制作的镜像 名叫什么
# . 代表的是./ 代表构建的上下文目录就是当前目录
docker build -f Dockerfile -t myjavaapp:v1.0 .
执行上述命令后,会进入构建环节,首先会去下基础的jdk,下载好后,再去构建其他信息。
可以看到构建成功了。
docker查看下是否生成了镜像
可以看到 成功了也是
然后执行运行就好啦!
# 运行容器
# -d 后台运行
# -p 服务器端口映射容器内端口
docker run -d -p 9999:9999 myjavaapp:v1.0