当前位置:   article > 正文

Docker 部署spring-boot项目(超详细 包括Docker详解、Docker常用指令整理等)_docker desktop springboot

docker desktop springboot

大家好!我是夏小花,今天是2023年10月29日|农历九月十五,转眼间,马上进入到十一月份,最近这段时间一直在项目上没有更新文章,话不多说,今天这篇博文主要是简单了解一下docker、dockerfile的使用、docker部署spring-boot项目以及一些docker常用的指令,本篇文章中如果有不足的地方,欢迎大家多多指点,评论和私信都可以,谢谢!

Docker

Docker的定义

Docker是一个基于轻量级虚拟化技术的容器,整个项目基于Go语言开发,并采用了Apache 2.0协议。
Docker 其中包括 镜像、容器、仓库。

Docker有哪些作用

开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
使用docker部署一套代码可以在各个环境中使用,将应用环境和底层环境实现了解耦。
快速部署:Docker通过创建进程的容器,不必重新启动操作系统,几秒内能关闭,你可以在数据中心创建或销毁资源,不用担心额外消耗。

Docker有哪些好处

解决运行环境不一致所导致的问题,这样就不会产生“本地运行没问题,可一到服务器上就不行了”的情况。

使用docker部署springboot项目

安装docker

安装这块大家可以去网上查阅一下资料
顺便把Docker Compose也安装一下
Docker Compose是一个用来定义和运行复杂应用的Docker工具。

创建Dockerfile镜像文件

可以看下下面这个Dockerfile文件,我先来说下各个指令都代表什么意思:
FROM:指定基础镜像,必须为第一个命令(尽量不要定义的偏差太大)
ADD:将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget。
ENTRYPOINT:配置容器,使其可执行化。
EXPOSE:指定于外界交互的端口。
VOLUME:用于指定持久化目录。

FROM openjdk:8
# 这个地方我填写的是后端jar包所在的目录位置
VOLUME /xxx/xxx
# 这个地方我填写的是后端jar包名称,例如你的jar包名字叫aa.jar  这个地方就填aa.jar aa.jar(填两遍)
ADD xxx.jar xxx.jar
# 后端项目的端口号
EXPOSE xxx
# 前面都一样,只需要把后面的换成你的jar名称
ENTRYPOINT ["java", "-jar", "/xxx.jar"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

首先进入到项目目录下:
在这里插入图片描述
可以看到现在我这个目录下已经创建好了Dockerfile文件,把我上面的文件内容复制一下,按照上面的提示改一下就可以。

执行镜像文件(Dockerfile文件)

现在我的后端是处于停止状态,没有启动jar包
在这里插入图片描述
输入下面的指令:
xxx的那方我是填的当前目录名称(xjzdp)

docker build -t xxx:1.0 .
  • 1

查看Docker镜像

输入下面的指令:
REPOSITORY:镜像名称
TAG:版本
IMAGE ID:镜像id
如果你执行完这个命令后可以看到镜像名称的就证明成功了,继续往下走!

docker images
  • 1

在这里插入图片描述

启动容器

输入下面的指令:
根据我下面的例子,修改对应的信息即可

sudo docker run -d -p 后端端口号:后端端口号 --name 镜像名称 镜像名称:版本号
  • 1

例如

sudo docker run -d -p xxx:xxx --name xxx xxx:v1.0
  • 1

输入完上面的指令后,如果显示的一串英文+中文字符串,表示启动成功!
在这里插入图片描述

查看Docker中运行的容器

输入下面的指令:

docker ps
  • 1

输入完上面的指令后,如果显示向我下面的截图一样,表示启动成功!
NAMES:显示的是镜像端口。
还有端口号、jar包名称等其它信息。
在这里插入图片描述

查看服务容器日志

输入下面的指令:

docker logs -f 这个地方填写你的镜像名称
  • 1

例如:

docker logs -f xxx
  • 1

从日志中查看你的项目是否启动成功,可以测试一下能不到访问到项目。

以上就是如何使用docker部署spring-boot项目如果有对以上步骤不明白的或者是遇到其它问题的博主可以私信我或者这本篇博文下评论都可以,我会一一为你解答,不收取任何费用,欢迎打扰哦!

Docker常用指令

查看docker安装目录

sudo docker info | grep -i root
  • 1

启动Docker

systemctl start docker
  • 1

停止Docker

systemctl stop docker
  • 1

重启Docker

systemctl restart docker
  • 1

查看Docker

systemctl status docker
  • 1

设置开机自启

systemctl enable docker
  • 1

启动已停止运行的容器

docker start 容器ID或者容器名
  • 1

重启容器

docker restart 容器ID或者容器名
  • 1

停止容器

docker stop 容器ID或者容器名
  • 1

强制停止容器

docker kill 容器ID或容器名
  • 1

删除已停止的容器

#删除一个
docker rm 容器ID  
docker rm -f 容器ID  #强制删除
 
 
#删除多个
docker rm -f $(docker ps -a -q)
或
docker ps -a -q | xargs docker rm
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

查看服务容器日志

docker logs -f 填写你的镜像名称
  • 1

删除当前真正启动的容器

-f 后面跟容器名称或者容器id都可以

docker rm 填写你的镜像名称
  • 1

查看docker镜像

docker images
  • 1

查看运行中的docker容器

docker ps
  • 1

启动docker容器

sudo docker run -d -p 后端端口号:后端端口号 --name 镜像名称 镜像名称:版本号
  • 1

通过Dockerfile构建镜像

docker build -t 镜像名称:版本号 .
  • 1

总结

Docker 部署spring-boot项目我这边理解的大致就这么多了,后期本博主会更新更多前沿技术点及项目中遇到的一些问题,如果大家有技术难题或者有要探讨的技术点可以私信本博主哦!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/57840
推荐阅读
相关标签
  

闽ICP备14008679号