美文网首页
Spring boot 工程发布 centos7 docker

Spring boot 工程发布 centos7 docker

作者: 简陌刀丶阿吉 | 来源:发表于2018-11-16 10:07 被阅读0次

前言:springboot工程如何在docker上发布,其实有很多中解决方案,本次采用的方案为将工程打包为镜像,然后拉取容器进行访问。
本次实验虽然成功了,但觉得还需优化,在镜像创建后,还需要去人工创建容器,能否在创建镜像的同时生成容器,这个还有待研究。

1、配置docker,开启2376端口,

修改 /usr/lib/systemd/system/docker.service文件,在ExecStart 后面添加-H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock


路径和docker.service配置

配置完成后,重启让配置生效

systemctl daemon-reload    
systemctl restart docker.service 

2、maven配置

在pom文件下添加下列代码

        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.4.14</version>
            <configuration>
                <!-- 镜像名 -->
                <imageName>test/${project.artifactId}</imageName>
                <!-- Dockerfile文件所在位置 -->
                <dockerDirectory>src/main/docker</dockerDirectory>
                <!-- docker路径和端口 -->
                <dockerHost>http://10.19.210.247:2376</dockerHost>
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>

下图是我在工程中配置的,仅作参考


docker-maven-plugin的依赖和配置

3、Dockerfile配置

在src/main/docker文件夹下创建Dockerfile文件,内容如下

FROM java
VOLUME /tmp
ADD demo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

VOLUME /tmp:创建/tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录。

ADD demo-0.0.1-SNAPSHOT.jar app.jar:将应用jar包复制到/app.jar

ENTRYPOINT:表示容器运行后默认执行的命令

4、上传镜像

上传镜像到docker服务器

5、目录结构

目录结构

相关文章

网友评论

      本文标题:Spring boot 工程发布 centos7 docker

      本文链接:https://www.haomeiwen.com/subject/lgepfqtx.html