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 版权协议,转载请附上原文出处链接和本声明。