一步一步使用Docker部署spring-boot项目

准备工作

  1. 安装Docker,网上很多教程可以参考一下Docker安装教程

  2. SpringBoot项目,参考教程

开搞开搞


  1. 在项目目录创建Dockerfile文件:
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD security-0.0.1-SNAPSHOT.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" ]
  1. Pom文件中添加docker支持
<properties>
   <docker.image.prefix>security</docker.image.prefix>
</properties>
<build>
    <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</dockerDirectory>
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <directory>${project.build.directory}</directory>
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
    </plugins>
</build>
  1. 创建docker镜像
    项目根目录下执行命令
shenjiangangdeMacBook-Pro:security shenjg$ mvn package -Dmaven.test.skip=true docker:build

打包成功后可以看到

Successfully built ee0de0d073c8
Successfully tagged security/security:latest
[INFO] Built security/security
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 21.123 s
[INFO] Finished at: 2018-09-17T17:29:00+08:00
[INFO] Final Memory: 36M/542M
[INFO] ------------------------------------------------------------------------
  1. 运行docker容器
shenjiangangdeMacBook-Pro:blog shenjg$ docker run --name=docker-demo -p 8080:8080 -t security/security

没有问题的话就可以看到springboot项目的启动过程,启动完成后使用浏览器访问

localhost:8080

整个打包部署的流程告一段落,接下来可以查看一下容器的运行状态

查看容器的运行情况

shenjiangangdeMacBook-Pro:security shenjg$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
b1525df1db15        security/security   "sh -c 'java $JAVA_O…"   6 minutes ago       Up 6 minutes        0.0.0.0:8080->8080/tcp   docker-demo

docker容器的基本操作(启动/关闭/重启/删除)

docker start/stop/restart/rm CONTAINER ID /NAMES 

其中:
CONTAINER ID : 是容器id,执行 docker ps 可查看 eg:b1525df1db15
NAMES: 是容器的名称,也就是docker run –name后面的名字 eg:docker-demo

项目源码:https://github.com/tinet-shenjg/security

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值