使用docker部署SpringBoot项目

1.新建一个SpringBoot项目

自己写吧。。。。我放个测试的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package com.pibigstar.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class IndexController {

@RequestMapping("/")
public String toIndex() {
return "index";
}

@RequestMapping("/hello")
@ResponseBody
public String hello() {
return "Hello pibigstar";
}

}

2. 打包SpringBoot项目成jar包

3. 编写Dockerfile文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Docker image for springboot file run
# VERSION 0.0.1
# Author: pibigstar
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER pibigstar <741047261@qq.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD onlineSpider-0.0.1-SNAPSHOT.jar app.jar
# 运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

如果是第一次打包,它会自动下载java 8的镜像作为基础镜像,以后再制作镜像的时候就不会再下载了。

4. 部署文件

如果不会安装docker的可以看我之前的博客。。。这里就不赘述了

在服务器中新建一个文件夹用来存放我们的项目文件 mkdir docker

将打包好的jar包和Dockerfile文件上传到此文件夹中,然后进入此文件夹cd docker

5. 制作镜像

执行下面命令, 看好,最后面有个 . 点!

1
docker build -t springboot-demo .

-t 参数是指定此镜像的tag名

制作完成后通过下面命令查看我们制作的镜像

1
docker images

5. 启动容器

有很多人搞不定镜像和容器的关系,其他他俩比较像java中的类与实例,镜像就好比类,而容器就是镜像的一个实例

执行下面命令启动容器

1
docker run -d -p 8081:8080 springboot-demo

-d参数是让容器后台运行
-p 是做端口映射,此时将服务器中的8081端口映射到容器中的8080端口

6. 访问

直接浏览器访问: http://你的服务器ip地址:8081/hello 即可查看效果

-------------本文结束感谢您的阅读-------------