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 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文件挂载(下篇)相关推荐
- 基于SUSE Linux做NFS文件挂载
linux文件挂载其实和windows文件共享原理差不多,由主机配置一个共享目录,客户端机器可以通过网络访问该共享目录. 下面以SUSE11为例子,简要描述下NFS文件挂载过程: 一.主机端(主机IP ...
- linux nfs文件挂载模拟云存储
背景 产品上线前兼容性测试,云存储未到位: 系统:SUSE Linux Enterprise Server 11 SP1 解决方法 其中一个服务器A开放nfs服务,模拟云存储,其它服务器挂载A的目录, ...
- nfs自动挂载报错及解决方法
问题描述: 之前做过一些nfs挂载的测试,证明挂载是没问题的. 网络环境: 服务器:10.210.1.145(默认网关10.210.1.129) 客户端:10.110.3.49(默认网关10.110. ...
- linux内核挂载nfs,Linux 挂载NFS文件系统
挂载文件系统 启动 NFS 客户端 挂载前,请确保系统中已经安装了nfs-utils或nfs-common,安装方法如下: CentOS: Ubuntu 或 Debian: 创建待挂载目标目录 使用下 ...
- Android NFS文件系统挂载遇到的问题解决方法
在网上他人博客中方法都大同小异,但是却无法解决我遇到的问题. 我随意挑选一个网友的方法http://blog.csdn.net/zjg555543/article/details/7792984 当然 ...
- linux的服务文件,Linux的nfs文件服务
一.NFS概念(适用于Linux与Linux的网络文件系统) 二.安装nfs启动服务 yum install nfs-utils systemctl enbale nfs-server systemc ...
- Linux的nfs文件服务
一.NFS概念(适用于Linux与Linux的网络文件系统) 二.安装nfs启动服务 yum install nfs-utils systemctl enbale nfs-server systemc ...
- docker安装nfs文件服务所需镜像,centos7安装nfs所需的安装包
docker离线安装nfs文件服务所需镜像,centos7安装nfs所需的安装包 安装所需要的镜像和安装包下载链接:https://download.csdn.net/download/qq_1491 ...
- 虚拟机搭建nfs,挂载到板子
通过在虚拟机搭建一个nfs,可以让板子直接连接虚拟机上的指定文件夹,并访问里面的内容. 首先需要安装nfs,安装nfs需要虚拟机联网,联网的方式有两种,net和桥接.网上有很多方法介绍,这里简单介绍一 ...
最新文章
- FJUT OJ 2466 T^T的叛乱计划(组合数学)
- Unity4.6新UI系统初探(uGUI)
- 一、pytorch搭建实战以及sequential的使用
- 第12讲:Ajax 的原理和解析
- java 方法 示例_Java集合syncedList()方法与示例
- MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)
- 字符串的排序不一定要完全按照字典序(洛谷P1012题题解,Java语言描述)
- 同样是卖票,为啥阿里卖电影票就不卡?技术上做了啥???
- 如何学习机器学习、看待算法竞赛?粉丝精选留言
- 101 Free VMware Tools
- AUTOSAR标准与产业发展动态
- “当了十年IT程序员,我转型做自动驾驶开发的这五年”
- centos7重新加载服务的命令_CentOS7服务管理(重启,停止,自动启动命令)
- Spark集群资源如何分配
- [原] 求薪水第三高的雇员的SQL题(图解)
- 计算机中的cmd是什么意思,计算机中的cmd是什么意思,全称是什么
- “拖延症”的良方——对于追求完美,自制力差,情绪化的人很受用...
- 蚂蚁金服一面:十道经典面试题解析
- 6. Python 元组,不可变的列表,滚雪球学 Python
- 推荐给后端工程师进阶的几本技术书籍