使用Docker完成java后端部署

1.打包前端项目

1. 通过maven进行打包

Image

打包成功后会生成一个targer文件夹,在文件夹中可以找到打包好的.jar文件

请添加图片描述
这里如果不想打包测试类的话我们可以在properties加一个skipTests来排除测试类

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <skipTests>true</skipTests>
    </properties>

如果使用的lombok请务必排除一下,不然打包好运行会报错

<build>
        <plugins>
            <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>
        </plugins>
    </build>

2. 在根目录中创建一个Dockerfile文件

图例:
Image

Dockerfile

# Docker 镜像构建
FROM openjdk:8 as builder
WORKDIR /app

COPY user-center-0.0.1-SNAPSHOT.jar /app/user-center-0.0.1-SNAPSHOT.jar

# Run the web service on container startup.
CMD ["java","-jar","/app/user-center-0.0.1-SNAPSHOT.jar","--spring.profiles.active=prod"]

1)FROM nginx: 安装jdk:8

2)WORKDIR : 工作目录,容器中执行命令时的默认位置

3)COPY:拷贝,从执行目录拷贝指定文件打到容器中的指定目录

4)CMD 指定容器启动时要执行的默认命令或可执行文件的指令

3.上传文件到服务器

把Dockerfile和jar包上传到服务器的指定目录,目录,这里以/root/myapp目录为例

请添加图片描述

扫描二维码关注公众号,回复: 15987058 查看本文章

2.服务器项目上线

1.docker安装

参考文档:
Linux安装Docker完整教程

2.打包docker镜像并运行

1.创建myapp目录

mkdir /root/myapp/user-center-backend

2.把文件放在目录里
请添加图片描述

3.进入user-center-backend文件夹执行命令,后面"."不要忽略

docker build -t user-center-backend:v0.0.1 .

docker build -t 镜像名称:版本号 .

4.运行docker镜像

1.查看docker 镜像
docker images

2.根据打包好的镜像,并运行docker
docker run -d -p 8080:8080 user-center-backend:v0.0.1 

3.查看容器运行状态
docker ps

4.如果有异常可以用过这个命令来查看日志
docker ps <项目id>

项目部署成功

猜你喜欢

转载自blog.csdn.net/m0_59757074/article/details/130949935