大家好!我是夏小花,今天是
2023年10月29日|农历九月十五
,转眼间,马上进入到十一月份,最近这段时间一直在项目上没有更新文章,话不多说,今天这篇博文主要是简单了解一下docker、dockerfile的使用、docker部署spring-boot项目以及一些docker常用的指令
,本篇文章中如果有不足的地方,欢迎大家多多指点,评论和私信都可以,谢谢!
Docker是一个基于轻量级虚拟化技术的容器,整个项目基于Go语言开发,并采用了Apache 2.0协议。
Docker 其中包括 镜像、容器、仓库。
开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
使用docker部署一套代码可以在各个环境中使用,将应用环境和底层环境实现了解耦。
快速部署:Docker通过创建进程的容器,不必重新启动操作系统,几秒内能关闭,你可以在数据中心创建或销毁资源,不用担心额外消耗。
解决运行环境不一致所导致的问题,这样就不会产生“本地运行没问题,可一到服务器上就不行了”的情况。
安装这块大家可以去网上查阅一下资料
顺便把Docker Compose也安装一下
Docker Compose是一个用来定义和运行复杂应用的Docker工具。
可以看下下面这个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"]
首先进入到项目目录下:
可以看到现在我这个目录下已经创建好了Dockerfile文件,把我上面的文件内容复制一下,按照上面的提示改一下就可以。
现在我的后端是处于停止状态,没有启动jar包
输入下面的指令:
xxx的那方我是填的当前目录名称(xjzdp)
docker build -t xxx:1.0 .
输入下面的指令:
REPOSITORY:镜像名称
TAG:版本
IMAGE ID:镜像id
如果你执行完这个命令后可以看到镜像名称的就证明成功了,继续往下走!
docker images
输入下面的指令:
根据我下面的例子,修改对应的信息即可
sudo docker run -d -p 后端端口号:后端端口号 --name 镜像名称 镜像名称:版本号
例如
sudo docker run -d -p xxx:xxx --name xxx xxx:v1.0
输入完上面的指令后,如果显示的一串英文+中文字符串,表示启动成功!
输入下面的指令:
docker ps
输入完上面的指令后,如果显示向我下面的截图一样,表示启动成功!
NAMES:显示的是镜像端口。
还有端口号、jar包名称等其它信息。
输入下面的指令:
docker logs -f 这个地方填写你的镜像名称
例如:
docker logs -f xxx
从日志中查看你的项目是否启动成功,可以测试一下能不到访问到项目。
以上就是如何
使用docker部署spring-boot项目
,如果有对以上步骤不明白的或者是遇到其它问题的博主可以私信我或者这本篇博文下评论都可以
,我会一一为你解答,不收取任何费用,欢迎打扰哦!
sudo docker info | grep -i root
systemctl start docker
systemctl stop docker
systemctl restart docker
systemctl status docker
systemctl enable docker
docker start 容器ID或者容器名
docker restart 容器ID或者容器名
docker stop 容器ID或者容器名
docker kill 容器ID或容器名
#删除一个
docker rm 容器ID
docker rm -f 容器ID #强制删除
#删除多个
docker rm -f $(docker ps -a -q)
或
docker ps -a -q | xargs docker rm
docker logs -f 填写你的镜像名称
-f 后面跟容器名称或者容器id都可以
docker rm 填写你的镜像名称
docker images
docker ps
sudo docker run -d -p 后端端口号:后端端口号 --name 镜像名称 镜像名称:版本号
docker build -t 镜像名称:版本号 .
Docker 部署spring-boot项目我这边理解的大致就这么多了,后期本博主会更新更多前沿技术点及项目中遇到的一些问题,如果大家有技术难题或者有要探讨的技术点可以私信本博主哦!