用Docker部署Springboot 项目(不使用maven)
1.创建springboot项目
依赖只选择spring web即可
-
主类内容
@RestController @SpringBootApplication public class HellotestApplication { public static void main(String[] args) { SpringApplication.run(HellotestApplication.class, args); } @RequestMapping("/") public String hello(){ return "Hello,Springboot with Docker!"; } }
-
将springboot项目打为jar包
2.撰写Dockerfile文件
# 基础镜像使用java
FROM openjdk:8-jdk-alpine
# 作者信息
MAINTAINER mhj
# 提示当前项目在容器运行的端口
CMD ["========server.port = 8080=========="]
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为app.jar
ADD hellotest-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"]
3.部署文件
在服务器合适位置新建一个文件夹,将maven打包好的jar包和Dockerfile文件复制到该文件夹下
4.生成docker镜像
docker build -t springbootdemo4docker .
- 执行上面命令, 看好,最后面有个"."点!
- -t 参数是指定此镜像的tag名
制作成功后执行docker images
查看制作的镜像
5.启动docker容器
docker run --restart=always -d -p 8080:8080 springbootdemo4docker
- –restart=always:设置开机自启动
- -d:后台运行容器,并返回容器ID;
- -p:设置服务器到容器的端口映射