docker启动springboot项目

  • Post author:
  • Post category:其他



docker部署一个简单的springboot项目

——创建springboot项目过程省略—–

pom文件中引入插件

			<plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <!-- 指的是镜像构建后,docker 仓库中镜像的名字 -->
                    <imageName>springboot/${project.artifactId}</imageName>
                    <!-- 指的是DockerFile 文件在此项目中的路径 -->
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

编写dockerfile

# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER GOOD_O3Ax <lhm@qq.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD docker-demo.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

#FROM:指定存在的镜像,java:8是我刚刚拉取的镜像,运行的基础。
#VOLUME:指向的一个临时文件,用于存储tomcat工作。
#ADD:复制文件并且重命名文件。
#ENTRYPOINT:初始化配置或者自定义配置。

打包项目命令(在idea的terminal中执行)

mvn clean package
mvn compile
mvn package spring-boot:repackage

在Linux中的

/usr/local

目录下新建docker文件夹,将打包好的jar包以及dockerfile放入新建的文件夹中

在这里插入图片描述

构建镜像命令

docker build -t docker-demo .
// docker-demo是我的jar包名

命令执行完以后,

docker images

查看镜像

docker run -d -p 8081:8080 镜像ID 
//8081:8080是端口映射,左边表示外部端口,右边是内部端口。意思是容器内访问8080,外部访问8081


docker ps

查看所有启动的容器

如果容器没有正常启动,我的建议是查看该容器的日志,一般都能很快的定位问题



版权声明:本文为Lhm00913原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。