Docker是什么?
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口(此处引用百度百科)。
为什么在Docker里面部署项目?
将springboot项目部署到Docker中,你会节省你很多时间,你可以从一开始在任何系统中(尤其linux)就可以立即拥有java8,maven等等配置环境,用Docker说法就是,你可以很快获取拥有这些基础配置的镜像,然后你可以在镜像上创建容器,部署你想要的服务,这可以省去很多运维工作,特别平时工作中可能会遇到生产环境和测试环境的不同,用了容器之后你可以顷刻间解决这些问题。
Dockerfile是什么?
Dockerfile是Docker的脚本,里面包含了一系列的指令,这些指令是自己写的,通过这些指令告诉Docker,我接下来要做这些操作,然后请你帮我创建出我需要的镜像。
部署项目前需要哪些准备?(按我个人环境)
1、Centos7(里面要自己装好Docker)。
2、将你的springboot项目打包好,不管是maven还是gradle均有打包命令。
3、将打包好的项目(最好是压缩包或.jar)上传到linux中,并在相同的linux目录中文件Dockerfile文件。
DockerFile内容
# 该镜像需要依赖的基础镜像
FROM java:8
# 将当前压缩包复制到docker容器的目录(会自动解压)
ADD springboot-file.tar.gz /
# 声明服务运行在9090端口
EXPOSE 9090
# 指定docker容器启动时运行jar包,路径是最容易错的地方,请好好查看自己项目入境
ENTRYPOINT ["nohup", "java", "-jar", "/springboot-file/springboot-file.jar", "&"]
# 指定维护者的名字
MAINTAINER smirk_xiaoze
创建Docker镜像并运行容器
在Dockerfile目录执行以下命令:
1、docker build -t springboot:01-version .
解释:这个命令是创建Docker镜像,springboot:01-version指的是镜像名称:版本号,记得命令后面还有一个点。
2、docker run -d -p 9090:9090 --name springboot-file springboot:01-version
解释:这个命令是运行容器。-d表示后台运行容器;并返回容器ID,-p表示指定端口映射,格式为:主机(宿主)端口:容器端口;–name springboot-file指定容器名称;springboot:01-version表示容器基于那个镜像,格式为:镜像名称:版本号。
3、接下来你就可以在浏览器浏览你的项目了
总结
努力、时尚、快乐,相信自己,你一定是这条街上技术最亮的仔!
更多博客,欢迎来小秋霖~~~
smirk小泽
2020 年 02月16日