• docker-本地部署-后端


    前置条件

    • 后端文件
      这边是一个简单项目的后端文件目录
      在这里插入图片描述

    • docker服务

    镜像文件打包

    #命令行 docker build -t author/chatgpt-ai-app:1.0 -f ./Dockerfile .
    

    红框是docker所在文件夹

    • author:docker用户名
    • chatgpt-ai-app:打包的镜像文件名字
    • :1.0 :版本
      命令行运行:
      在这里插入图片描述

    Dockerfile文件内容

    # 基础镜像
    FROM openjdk:8-jre-slim
    
    # 作者
    MAINTAINER author
    
    # 配置
    ENV PARAMS=""
    
    # 时区
    ENV TZ=PRC
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    
    # 添加应用
    ADD /chatgpt-ai-interfaecs/target/chatgpt-ai-app.jar /chatgpt-ai-app.jar
    
    ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /chatgpt-ai-app.jar $PARAMS"]
    

    注意

    一定要先出现这两个文件才可以进行docker的打包工作
    在这里插入图片描述
    如何构建:
    Maven文件install即可(我建议在最初chatgpt-ai 周期下:clean+install)
    我为啥选择在chatgpt-ai-interfaces,主要是pom文件的build写在了,这个模块pom中,
    可以在这里install也可以在我建议的地方应该都是一样的(只是我老报错)
    在这里插入图片描述
    chatgpt-ai-interfaces下的pom文件的build部分

    。。。。。。。。前面有你需要的依赖!
    <!--        工程文件依赖-->
            <dependency>
                <groupId>org.example</groupId>
                <artifactId>chatgpt-ai-domain</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.example</groupId>
                <artifactId>chatgpt-ai-application</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
        </dependencies>
        
    <build>
    <!--        构建的文件名-->
            <finalName>chatgpt-ai-app</finalName>
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                    <filtering>true</filtering>
                    <includes>
                        <include>**/**
                    
                
            
            
                
                    src/test/resources
                    true
                    
                        **/**</include>
                    </includes>
                </testResource>
            </testResources>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.12.4</version>
                    <configuration>
                        <skipTests>true</skipTests>
                    </configuration>
                </plugin>
                <plugin>
                    <!--该插件主要用途:构建可执行的JAR -->
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>8</source>
                        <target>8</target>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    

    打包后docker上出现
    builds成功
    在这里插入图片描述
    运行–本地部署完成
    在这里插入图片描述

  • 相关阅读:
    制造企业如何满足客户需求?精益生产教您三招
    CTF--Web安全--SQL注入之‘绕过方法’
    百度测开初面面试题分享
    设计模式——装饰器模式
    Flutter执行flutter doctor报错HTTP Host Availability
    Flutter 《入门到成仙 》第二章 环境安装
    第 115 场 LeetCode 双周赛题解
    【Kubernetes | Pod 系列】Pod 的基本管理(4)——访问容器与故障排错
    Redis高可用方案之哨兵模式
    java使用拦截器进行接口签名验证
  • 原文地址:https://blog.csdn.net/qq_43894221/article/details/139767114