Rainbond之NFS文件挂载(下篇)

第一步:编写Dockerfile文件

FROM centos:7
RUN yum install -y wget
RUN cd /etc/yum.repos.d/ && rm -rf * &&  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum clean all
RUN yum makecache

RUN yum -y update

RUN yum -y install java-1.8.0-openjdk
RUN yum -y install nfs-utils
RUN rpcbind start
RUN ln -s /usr/lib/jvm/java-8-openjdk-amd64 /usr/local/jdk1.8
#4.安装jdk,设置时区
RUN set -eux
#RUN cp /usr/local/jdk1.8/jre/lib/security/policy/unlimited/* /usr/local/jdk1.8/jre/lib/security/.
RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo Asia/Shanghai > /etc/timezone
##6.配置JAVA环境变量
ENV JAVA_HOME=/usr/local/jdk1.8
ENV JRE_HOME=/usr/local/jdk1.8/jre
#ENV CLASSPATH=
ENV PATH=/usr/local/jdk1.8/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

#设置系统编码
RUN yum install kde-l10n-Chinese -y
RUN yum install glibc-common -y
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
#RUN export LANG=zh_CN.UTF-8
#RUN echo "export LANG=zh_CN.UTF-8" >> /etc/locale.conf
#ENV LANG zh_CN.UTF-8
ENV LC_ALL zh_CN.UTF-8

RUN mkdir -p /data/files && mkdir -p /data/logs
ADD app.jar /app.jar
#复制该脚本至镜像中,并修改其权限 chmod u+x *.sh
ADD start.sh /start.sh
RUN chmod 775 /start.sh
# 在镜像运行为容器后执行的命令
CMD ["/start.sh"]
EXPOSE 1000



第二步:配置start.sh脚本-执行mount命令并启动服务

#!/bin/sh
mount -t nfs ip:/data/files /data/files && java -jar -Dlog4j2.formatMsgNoLookups=true app.jar --spring.profiles.active=dev1

第三步:通过Dockerfile构建镜像(后端)

略、、、、、构建过程请看上篇文章内容!

总结:Rainbond为云原生平台,内部已经安装了nfs server和client,如需通过nfs挂载外部文件服务器,有两种方式:

1、Dockerfile中安装nfs-utils,然后进行mount(永久挂载);

2、在pod的终端中执行以下命令(非永久挂载,每次重启或者构建组件就没了)

cd /
mkdir qa
cd /qa
mkdir files
apt-get update
apt-get install nfs-common -y
rpcbind start
mount -t nfs ip:/opt/share /opt/share 

ps:如果项目中有多个配置版本,比如dev1、dev2,不用多次编写Dockerfile和构建镜像,只需在Rainbond的环境配置-配置文件设置中添加.sh文件,容器启动构建镜像的时候就会默认读取配置,覆盖镜像中的.sh文件,并成功挂载起外部nfs和启动对应服务;如下图:

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值