在Docker中部署Springboot应用

Docker这项容器技术已经是十分的火热了,读者要是不了解docker的话可以吧docker先理解为虚拟机。
我们的Springboot最终是要部署在Linux上的,docker作为Linux轻量级的实现。docker也是可以用来部署Springboot应用的。
Springboot程序本人以Spring官网的demo为例。

地址是: https://spring.io/guides/gs/spring-boot-docker/

当然读者也可以直接git clone https://spring.io/guides/gs/spring-boot-docker/

首先我们进入demo的complete 目录
下运行命令,mvn package && java -jar target/gs-spring-boot-docker-0.1.0.jar

这个命令是将demo打包并且运行。在浏览器输入localhost:8080就可以访问项目里,此时的Springboot应用是部署在自己的操作系统上的。
我们按下Ctrl+C关闭掉Spring boot应用程序。

接下来我们来到src/main/docker目录下,有个关键性的配置文件Dockerfile

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD gs-spring-boot-docker-0.1.0.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]

这个文件是用来生成docker镜像的

打开我们的maven的pom.xml文件,里面有一个插件


<plugins>
        <plugin>
            <groupId>com.spotify</groupId>
            <artifactId>docker-maven-plugin</artifactId>
            <version>0.4.11</version>
            <configuration>
                <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                <dockerDirectory>src/main/docker</dockerDirectory>
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
    </plugins>

运行命令

$ mvn package docker:build 

最后运行命令

docker run -p 8080:8080 -t springio/gs-spring-boot-docker

再在浏览器中输入localhost:8080即可访问在docker容器中运行的Spring boot应用

最后对外发布app的时候docker可以自动化发布到任何一台流行的Linux服务器上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值