引言: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

在这里插入图片描述

Logo

秉承“创新、开放、协作、共享”的开源价值观,致力于为大规模开源开放协同创新助力赋能,打造创新成果孵化和新时代开发者培养的开源创新生态!支持公有云使用、私有化部署以及软硬一体化私有部署。

更多推荐