引言:renren-fast是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付。由于开源脚手架部署方式各不相同,本文仅仅针对renren-fast开源框架的docker部署。
docker安装:虚拟机安装Docker步骤
还需要准备java、maven环境,请自行安装
通过maven插件,构建docker镜像
对于数量众多的微服务,手动部署无疑是非常麻烦的做法,并且容易出错。所以我们这里学习如何自动部署,这也是企业实际开发中经常使用的方法。
Maven插件自动部署步骤:
(1)修改宿主机的docker配置,让其可以远程访问
vi /lib/systemd/system/docker.service
其中ExecStart=后添加配置-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
注意:如果是云服务器,在开启2375端口之后,需要在对应的服务器控制台中,在安全组中将2375端口打开,否则外网还是无法访问。
另外:tcp://0.0.0.0:2375这个指定的的是所有的ip均可以访问该服务器的2375端口,云服务器肯定会被挖矿!(亲身实践),所以最好指定一个自己的固定IP,例如:tcp://192.168.1.1:2375
docker开启访问端口
(2)刷新配置,重启服务
systemctl daemon-reload
systemctl restart docker
(3)加入DockerMaven插件配置
在人人开源的pom文件中找到docker配置,增加红框标注的内容,该配置为docker的host地址
<dockerHost>http://172.16.1.8:2375</dockerHost>
Dockerfile配置
将Dockerfile需要放在resources目录同级
以下代码参考注释释义即可,因为人人开源已经配置了这个文件,在此我不做修改
# 基于哪个镜像
FROM java:8
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 拷贝文件到容器,tensquare_blog-0.0.1-SNAPSHOT.jar这里是maven打包后的名字
ADD tensquare_blog-1.0-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
# 配置时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 配置容器启动后执行的命令
# 如果不是多环境配置文件,将最后的profile删除即可
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=production"]
# 暴露指定端口,springboot项目的暴露端口
EXPOSE 9002
(4)打包并构建项目镜像
mvn clean package docker:build
可以看到镜像已经到了服务器docker
在用compose启动项目时,先把以下两个文件拷贝到renren-fast下,然后在这个文件下执行:docker-compose up -d 启动项目
安装docker-compose,用来管理容器
#下载地址:https://github.com/docker/compose/releases
#下载docker-compose
[root@mark renren-fast]# curl -L https://github.com/docker/compose/releases/download/1.16.1/d
ocker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#增加可执行权限
[root@mark renren-fast]# chmod +x /usr/local/bin/docker-compose
#查看版本信息
[root@mark renren-fast]# docker-compose version
docker-compose version 1.16.1, build 6d1ac21
docker-py version: 2.5.1
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
如果下载不了,可以用迅雷将https://github.com/docker/compose/releases/download/1.16.1/docker-compose-
Linux-x86_64下载到本地,再上传到服务器
通过docker-compose,启动项目,如下所示:
#启动项目
[root@mark renren-fast]# docker-compose up -d
Creating network "renrenfast_default" with the default driver
Creating renrenfast_campus_1 ...
Creating renrenfast_campus_1 ... done
#查看启动的容器
[root@mark renren-fast]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
f4e3fcdd8dd4 renren/fast "java -jar /app.jar" 55 seconds ago Up 3 secon
ds 0.0.0.0:8080->8080/tcp renrenfast_renren-fast_1
#停掉并删除,docker-compose管理的容器
[root@mark renren-fast]# docker-compose down
Stopping renrenfast_renren-fast_1 ... done
Removing renrenfast_renren-fast_1 ... done
Removing network renrenfast_default
更多推荐