1.创建springBoot项目工程:
package com.eangulee.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@RequestMapping("/")
@ResponseBody
public String hello() {
return "Hello, SpringBoot With Docker";
}
}
2.使用maven进行编译打包:
mvn package
(1)使用Docker部署
编写Dockerfile文件:
Dockerfile文件的作用:Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。
Dockerfile的文件的基本结构:
基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令
Dockerfile的常用指令:
1、from 基础镜像,当前新镜像是哪个镜像
2、mantainer:镜像维护者的姓名和邮箱
3、RUN:容器构建时需要运行的shell命令
4、EXPOSE:当前容器对外暴露出的端口
5、WORKDIR:创建容器后,终端登录进来的工作目录
6、ENV:添加环境变量到容器
7、ADD:将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
8、COPY:类似ADD,拷贝文件和目录到镜像中,但不解压。将从构建上下问目录中<源路径>的文件/目录复制到新的一层镜像内的<目标路径>位置---------(1)CORY src dest(2)COPY [“src”,“dest”]
2.编译生成系统镜像
将dockerfile文件和生成的jar包文件上传到服务器,同级目录下
使用命令行:
docker build -f Dockerfile -t Springboot:v1.0 .
-f : 参数引用文件 -t 镜像名称 . 表示当前目录
3.查看系统的镜像名称
docker images
查看生成的镜像名称
镜像名称:Springboot
镜像版本号:v1.0
4.运行docker镜像
docker run -p 8080:8080 -d Springboot:v1.0 --restart=always
-p为 容器端口号与主机端口号之间进行相互映射
-d 表示后台运行
–restart 表示重启容器时自动重启
- 查看docker的运行
docker ps