1.检查pom文件
在pom文件要有
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.2</version> <relativePath/> </parent>
<properties> <java.version>1.8</java.version> </properties>
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin>
|


2.打包项目
可以选择跳过测试进行打包

打包完成后出现target目录出现jar包,(因为jar包包含非常多的依赖,所以基本不会小于1M,如果小于1M可能就是打包配置不对,检查pom文件)

3.运行jar测试
在cmd打开jar所在目录并运行 java -jar xxxx.jar,运行成功就是打包成功了

4.编写 Dockerfile文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
FROM openjdk:8-jre
ADD Remote-CodeSandbox-0.0.1-SNAPSHOT.jar code.jar
EXPOSE 8080
CMD ["java","-jar","code.jar"]
|
5.上传jar和Dockerfile到linux
把jar和Dockerfile放在一个目录中,然后把这个目录上传到linux服务器的文件夹中(注意:上传到的文件夹确保普通用户能够访问,如果只能root用户访问需要更换上传的文件夹,因为上传到root用户才能访问的文件夹后运行否在本机访问linux可能会因权限不足而访问失败)

上传整个文件夹

6.尝试访问
如果在普通用户的身份下进入到了上传的目录,那就是可以的,如果不行就需要更换到其他文件价上传,尤其是ubuntu系统,需要特别注意

7.打包镜像&运行容器
根据项目的不同修改下面的命令
1 2 3 4 5 6 7 8
| #在上传的文件夹的Dockerfile文件的目录下执行下面的命令进行打包,不是ubuntu可以去掉sudo # -t 给镜像设置一个标签(名称) .指定了构建上下文,表示使用当前目录的内容构建镜像 sudo docker build -t oj-frontend .
#在上传的文件夹的Dockerfile文件的目录下执行下面的命令运行一个新的容器,不是ubuntu可以去掉sudo # -d 表示容器在后台运行,不会阻塞当前终端 --name 为容器指定一个名称 -p 8102:80 表示将宿主机的8102端口映射到容器的80端口 oj-frontend 表示用来创建容器的镜像名 sudo docker run -d --name oj-frontend -p 8102:80 oj-frontend
|


8.开放防火墙&检查运行是否成功
到容器中查看是否启动成功

1.在防火墙中开放刚开启的端口,因为我的防火墙关闭了,无须开放
2.在云服务商平台也要开启端口

在浏览器访问,有数据显示就是部署成功了
