docker启动springboot项目

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 查看所有启动的容器
如果容器没有正常启动,我的建议是查看该容器的日志,一般都能很快的定位问题

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值