zoukankan      html  css  js  c++  java
  • IDEA 使用 Docker插件运行SpringBoot工程

    IDEA 使用 Docker插件运行SpringBoot工程

    1、安装Docker插件

    由于我安装的IDEA版本是2020.1.x,所以内部集成了Docker插件,故无需安装。如果你的IDEA版本没有预装,需要自行安装。

    2、配置Docker地址

    在IDEA的设置中找到Docker,进行如下配置:

    Engine API URL配置tcp://ip:2375,如果开启了CA证书则是https://ip:2375

    Certificates folder为可选项,如果开启了CA证书需要配置(一般公网IP的服务器才会开启CA证书。如果是自己在本地搭建的Docker可以忽略此配置)

    点击apply后如果出现了Connection successful则标识连接成功。

    3、创建一个SpringBoot项目

    此项目无特殊要求,但maven配置文件中需要加入如下内容:

        <build>
            <plugins>
                <plugin>
                    <!-- docker 必须加 否则报no main manifest attribute, in /xxx.jar错-->
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <includeSystemScope>true</includeSystemScope>
                        <mainClass>cn.vantee.VanteeApplication</mainClass>
                    </configuration>
                    <executions>
                        <execution>
                            <goals>
                                <!--可以把依赖的包都打包到生成的Jar包中-->
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    

    4、创建Dockerfile

    在项目的src同级,创建一个名为Dockerfile的文件(无后缀)

    5、编辑Dockerfile

    # 镜像基于java:8
    FROM java:8
    
    # 作者
    MAINTAINER rayfoo@qq.compp
    
    #创建项目日志存放的文件夹
    RUN mkdir -p /app
    
    # 匿名挂载目录
    VOLUME /app
    
    # 项目暴露的端口号
    EXPOSE 10000
    
    # 添加环境变量
    ENV JAVA_OPTS="-Xms512m -Xmx512m"
    
    # 将jar包添加到容器中 /app/目录并更名为xxx.jar
    ADD ./target/Vantee-Admin-0.0.1.jar /app/Vantee-Admin-0.0.1.jar
    
    # 运行jar包命令 "nohup" "&" 可省略
    # -Djava.security.egd=file:/dev/./urandom 加速tomcat启动
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/Vantee-Admin-0.0.1.jar", "--spring.profiles.active=dev", "--server.port=10000"]
    

    6、修改运行配置

    6.1、打开运行设置,编辑配置

    6.2、点击左上角的,添加一个Dockerfile

    6.3、按需指定Dockerfile文件,配置镜像名称、版本、容器名称、启动参数等信息 点击apply保存

    7、运行

    确认配置无误后,点击Run或Debug即可运行。

    点击Run或Debug后,可以点击services查看容器构建、运行情况,以及项目的日志。

    8、通过ssh查看日志

    # 语法
    docker logs -f -t --tail 行数 容器名
    
    # 案例
    docker logs -f -t --tail 200 spring-boot-demo
    

    9、常见错误

    Deploying 'vantee-admin Dockerfile: Vantee-Admin/Dockerfile'...
    Building image...
    Preparing build context archive...
    [==================================================>]16/16 files
    Done
    
    Sending build context to Docker daemon...
    [==================================================>] 27.31MB
    Done
    
    Step 1/6 : FROM java:8
    Error response from daemon: Get https://registry-1.docker.io/v2/: x509: certificate has expired or is not yet valid
    Failed to deploy 'vantee-admin Dockerfile: Vantee-Admin/Dockerfile': Can't retrieve image ID from build stream
    
    

    解决:检查服务器是否配置阿里云镜像加速,是否正确配置DNS。

  • 相关阅读:
    Python3之random模块常用方法
    Go语言学习笔记(九)之数组
    Go语言学习笔记之简单的几个排序
    Go语言学习笔记(八)
    Python3之logging模块
    Go语言学习笔记(六)
    123. Best Time to Buy and Sell Stock III(js)
    122. Best Time to Buy and Sell Stock II(js)
    121. Best Time to Buy and Sell Stock(js)
    120. Triangle(js)
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/14772932.html
Copyright © 2011-2022 走看看