第一步:编写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 makecacheRUN yum -y updateRUN 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-8RUN 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和启动对应服务;如下图:

Rainbond之NFS文件挂载(下篇)相关推荐

  1. 基于SUSE Linux做NFS文件挂载

    linux文件挂载其实和windows文件共享原理差不多,由主机配置一个共享目录,客户端机器可以通过网络访问该共享目录. 下面以SUSE11为例子,简要描述下NFS文件挂载过程: 一.主机端(主机IP ...

  2. linux nfs文件挂载模拟云存储

    背景 产品上线前兼容性测试,云存储未到位: 系统:SUSE Linux Enterprise Server 11 SP1 解决方法 其中一个服务器A开放nfs服务,模拟云存储,其它服务器挂载A的目录, ...

  3. nfs自动挂载报错及解决方法

    问题描述: 之前做过一些nfs挂载的测试,证明挂载是没问题的. 网络环境: 服务器:10.210.1.145(默认网关10.210.1.129) 客户端:10.110.3.49(默认网关10.110. ...

  4. linux内核挂载nfs,Linux 挂载NFS文件系统

    挂载文件系统 启动 NFS 客户端 挂载前,请确保系统中已经安装了nfs-utils或nfs-common,安装方法如下: CentOS: Ubuntu 或 Debian: 创建待挂载目标目录 使用下 ...

  5. Android NFS文件系统挂载遇到的问题解决方法

    在网上他人博客中方法都大同小异,但是却无法解决我遇到的问题. 我随意挑选一个网友的方法http://blog.csdn.net/zjg555543/article/details/7792984 当然 ...

  6. linux的服务文件,Linux的nfs文件服务

    一.NFS概念(适用于Linux与Linux的网络文件系统) 二.安装nfs启动服务 yum install nfs-utils systemctl enbale nfs-server systemc ...

  7. Linux的nfs文件服务

    一.NFS概念(适用于Linux与Linux的网络文件系统) 二.安装nfs启动服务 yum install nfs-utils systemctl enbale nfs-server systemc ...

  8. docker安装nfs文件服务所需镜像,centos7安装nfs所需的安装包

    docker离线安装nfs文件服务所需镜像,centos7安装nfs所需的安装包 安装所需要的镜像和安装包下载链接:https://download.csdn.net/download/qq_1491 ...

  9. 虚拟机搭建nfs,挂载到板子

    通过在虚拟机搭建一个nfs,可以让板子直接连接虚拟机上的指定文件夹,并访问里面的内容. 首先需要安装nfs,安装nfs需要虚拟机联网,联网的方式有两种,net和桥接.网上有很多方法介绍,这里简单介绍一 ...

最新文章

  1. FJUT OJ 2466 T^T的叛乱计划(组合数学)
  2. Unity4.6新UI系统初探(uGUI)
  3. 一、pytorch搭建实战以及sequential的使用
  4. 第12讲:Ajax 的原理和解析
  5. java 方法 示例_Java集合syncedList()方法与示例
  6. MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)
  7. 字符串的排序不一定要完全按照字典序(洛谷P1012题题解,Java语言描述)
  8. 同样是卖票,为啥阿里卖电影票就不卡?技术上做了啥???
  9. 如何学习机器学习、看待算法竞赛?粉丝精选留言
  10. 101 Free VMware Tools
  11. AUTOSAR标准与产业发展动态
  12. “当了十年IT程序员,我转型做自动驾驶开发的这五年”
  13. centos7重新加载服务的命令_CentOS7服务管理(重启,停止,自动启动命令)
  14. Spark集群资源如何分配
  15. [原] 求薪水第三高的雇员的SQL题(图解)
  16. 计算机中的cmd是什么意思,计算机中的cmd是什么意思,全称是什么
  17. “拖延症”的良方——对于追求完美,自制力差,情绪化的人很受用...
  18. 蚂蚁金服一面:十道经典面试题解析
  19. 6. Python 元组,不可变的列表,滚雪球学 Python
  20. 推荐给后端工程师进阶的几本技术书籍

热门文章

  1. 中国车联网行业发展现状调查与未来前景趋势报告2021-2027年
  2. 翘舌音 / 卷舌音 / 舌尖后音 - 平舌音 / 前舌音 / 舌尖前音
  3. Android DownloadManager下载完成事件监听(系列4)
  4. 【H3C V7路由器实战视频课程系列-7】OSPF路由配置与管理-王达-专题视频课程
  5. 怎样创建H5场景微单页
  6. Python 切割mp3片段为每30秒一个并降低文件码率
  7. Pacemaker介绍
  8. BC113 小乐乐定闹钟
  9. 女coder撑起半边天:女程序员的职业规划
  10. 单片机自动售货机c语言,基于单片机的自动售货机