SpringBoot 2.0 学习(十三)使用Docker部署项目

SpringBoot 2.0 学习(十三)使用Docker部署项目

Docker是什么?

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口.解释来自于百度百科。

举个例子:

先来思考这样的一个问题: 来到一片空地,想建个房子,可能就要搬石头、砍木头、画图纸,再建房子,一顿操作,终于把这个房子盖好了。但是如果我想搬到另外一片空地,又来重复一遍吗?有了docker,我们看看是如何操作的。

Docker解决方案:

  • 可以把我盖好的房子复制一份,做成“镜像”
  • 将这个“镜像”放在背包里
  • 找到空地,利用镜像,复制房子,摆在那边,拎包入住

Docker技术的三大核心概念,分别是:

  • 镜像(Image)
  • 容器(Container)
  • 仓库(Repository)

刚才例子里面,那个放在包里的“镜像”,就是Docker镜像。而我的背包,就是Docker仓库。我在空地上,用魔法造好的房子,就是一个Docker容器。

Docker部署前准备工作

1.在CentOS 7中安装docker环境
安装

yum install docker

安装完成后,使用下面的命令来启动 docker 服务,并将其设置为开机启动:

systemctl start docker.service
systemctl enable docker.service

使用Docker 中国加速器

vi  /etc/docker/daemon.json
#添加后:
{
    "registry-mirrors": ["https://registry.docker-cn.com"],
    "live-restore": true
}

重新启动docker

systemctl restart docker

输入docker version 返回版本信息则安装正常。

2.安装JDK,可以参考我的文章Linux环境下安装jdk
输入java -version 返回版本信息则安装正常。

3.安装MAVEN,可以参考我的文章Linux环境下安装Maven
输入mvn -version 返回版本信息则安装正常。

构建简单Springboot2.0项目

依赖

	
		org.springframework.boot
		spring-boot-starter-web
	

POM里面添加docker支持

在pom.xml-properties 中添加 Docker 镜像名称
在这里插入图片描述
plugins 中添加 Docker 构建插件:
SpringBoot 2.0 学习(十三)使用Docker部署项目_第1张图片
控制层
SpringBoot 2.0 学习(十三)使用Docker部署项目_第2张图片
创建 Dockerfile 文件
在目录src/main/docker创建 Dockerfile 文件,Dockerfile 文件用来说明如何来构建镜像。

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD springboot-docker-demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT [“java”,"-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

CentOS 7中部署springboot项目

第一步:使用 DockerFile 构建镜像
文件从本地上传到Linux指定目录,我是用的WinSCP软件,具体如何使用,请参考我的文章WinSCP与Linux系统之间文件传输,下面是我的linux文件目录(https://blog.csdn.net/sinat_38798245/article/details/88107467)
SpringBoot 2.0 学习(十三)使用Docker部署项目_第3张图片

mvn package docker:build

第二步:使用docker images命令查看构建好的镜像
在这里插入图片描述
第三步:运行该镜像

docker run -p 8080:8080 -t springboot/spring-boot-docker

第四步:docker ps查看正在运行的镜像
在这里插入图片描述
第五步:在浏览器中,输入http://192.168.56.101:8080//
SpringBoot 2.0 学习(十三)使用Docker部署项目_第4张图片
说明使用 Docker 部署 Spring Boot 项目成功!

你可能感兴趣的:(Spring,Boot,2.0学习笔记,springboot2.0,docker,linux)