Manve项目部署到docker

第一步:将springboot项目打包

  1. Maven打包Spring Boot项目报错(repackage failed: Unable to find main class),排除寻找Main方法,一般用于被依赖的公用常量模块,解决方法如下:

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>none</mainClass>     <!-- 取消查找本项目下的Main方法:为了解决Unable to find main class的问题 -->
                    <classifier>execute</classifier>    <!-- 为了解决依赖模块找不到此模块中的类或属性 -->
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    

  2. SpringBoot 项目打包后不加载 application.properties 配置文件,添加pom文件中的打包资源即可

    <resources>
    	<!--如果pro和xml文件放在源码java包下,也需要编译-->
    	<resource>
    		<directory>src/main/java</directory>
    		<includes>
    			<include>**/*.yml</include>
    			<include>**/*.properties</include>
    			<include>**/*.xml</include>
    		</includes>
    		<filtering>false</filtering>
    	</resource>
    	<resource>
    		<directory>src/main/resources</directory>
    		<includes>
    			<include>**/*.yml</include>
    			<include>**/*.properties</include>
    			<include>**/*.xml</include>
    		</includes>
    		<filtering>false</filtering>
    	</resource>
    </resources>
    

第二步:dockerfile打包

  1. 进入到dockerFile文件夹

    cd /root/hsc/dockerFile
    
  2. 创建Dockerfile文件

    vim Dockerfile
    
  3. 编辑Dockerfile文件

    # 拉取基础镜像
    FROM openjdk:11.0.2
    # 设置作者信息
    MAINTAINER hsc"lijl1015@163.com"
    # 把api_gateway-0.0.1-SNAPSHOT.jar添加到容器里,并重命名为api_gateway.jar
    ADD service_acl-0.0.1-SNAPSHOT.jar service_acl.jar
    # 设置端口号,此处只开放一个端口8001
    EXPOSE 8001
    # 执行命令,此处运行api_gateway.jar
    RUN bash -c 'touch /service_acl.jar'
    ENTRYPOINT ["java","-jar","service_acl.jar"]
    

第三步:制作docker镜像

#service_acl:v1.0表示你的镜像名称,可以自己输入其他的。命令后面的 . 不能省略
docker build -f Dockerfile -t service_acl:v1.0 .

原文地址:http://www.cnblogs.com/lijl1015/p/16876792.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性