前言
最近学习服务器知识,学习如何使用docker进行项目部署
本文记录使用bash脚本进行项目部署
服务器
采用阿里云服务器,个人版,新人购买服务器优惠力度很大,买了一年89元的服务器进行个人学习,下面进行项目部署介绍
主要步骤
-
准备项目,我采用oneblog项目进行部署学习.如果有项目需要的话可自行从GitHub进行搜索拉取项目.
链接: oneblog(gitee) -
项目截图
-
使用maven工具进行项目打包
打包成功后在target文件夹下就有该项目的jar包
这个就是我们需要发布的项目
- 编写Dockerfile文件
FROM java:8
VOLUME /tmp
RUN mkdir -p /dot/work/blog-admin
RUN mkdir -p /home/blog/img/
ADD blog-admin-2.2.4.jar /dot/work/blog-admin/app.jar
WORKDIR /dot/work/blog-admin
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Xmx300m","-jar","/dot/work/blog-admin/app.jar"]
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
EXPOSE 8085
暴露端口为8085
- 编写stash脚本
#!/bin/bash
name=$1;
if [ ! -n "${name}" ] ;then
echo "请传入容器名"
else
#####关闭删除容器
docker stop `docker ps -aq --filter name=${name}`
docker rm `docker ps -aq --filter name=${name}`
#删除镜像
docker images | grep -E "(${name})" | awk '{print $3}' | uniq | xargs -I {} docker rmi --force {}
#创建镜像,运行容器
docker build -t spring/${name} .
docker run -d -v /var/tmp/website-blog-admin:/var/tmp/website-blog-admin -v /home/blog/img:/home/blog/img -p 9999:8085 --name ${name} spring/${name}
fi
- 上传项目
将这两个文件与项目编译好的jar包放入服务器
blog-admin目录下使用该命令即可
./start.sh blog
- 查看docker
总结
项目启动成功后,需要在阿里云控制台开启9999端口,这样才可以使用浏览器进行访问
该博客仅为自己的学习总结,如果有错误的地方还请批评指导.