zoukankan      html  css  js  c++  java
  • Rancher容器目录持久化

    最近一直在研究Rancher的持久化问题。

    目前已找到两种方式实现Rancher里的容器文件实现持久化方法。

    方法一:

    配置映射(只适用单个文件,不适用于目录)

    这个算不上是真正的持久化,只是相当于配置一个键值,然后键值内容等于文件内容,从而使得容器重启后,该文件内容会自动读取该键值内容,从而实现保持配置文件内容

    (1)添加配置映射

     (2)输入映射名称(可随意取,但是注意部分特殊字符无法使用),选中命名空间(建议选择zabbix-agent容器所在命名空间),配置映射键(输入需要保持的文件名字即可),输入值(直接复制zabbix_agentd.conf的内容)。点击确认

     (3)配置升级容器。找到相应的容器,点击进入升级界面

    下拉找到数据卷,做如下配置

     

     升级该容器,可以发现以下配置内容不会丢失了。当需要修改该文件时,直接在配置映射那里修改对应的值即可

    方法二:

    映射主机目录:(同时使用于文件及目录)

    (1)指定该容器运行主机

    因为这种方式,相当于将容器内部的文件映射至宿主机,映射之后,宿主机对应的文件和文件夹会自动更新到容器内(PS:注意是,宿主机上的文件或文件夹覆盖容器内的)。如果不指定运行的主机,可能会导致,该容器升级之后,在另一台主机上运行,例如在192.168.68.233上运行,那么如果233上对应的文件夹是空的,将会使得容器内部对应的文件夹也会被清空,甚至会直接导致容器无法起来,因为它的文件被233上的文件夹覆盖清空

    对应容器点击进入升级,找到主机调度部分,做以下配置

    (2)将容器内的文件和文件夹复制到宿主机

    以下命令在宿主机上执行

    [root@localhost zhao]# docker cp ec66a6aa7b44:/etc/mongod.conf /zhao/etc/mongod.conf  #将容器内部文件映射至宿主机本地,ec66a6aa7b44为容器id
    invalid output path: directory "/zhao/etc" does not exist      #建议都提前创建好对应目录
    [root@localhost zhao]# mkdir -p /zhao/etc
    [root@localhost zhao]# docker cp ec66a6aa7b44:/etc/mongod.conf /zhao/etc/mongod.conf
    [root@localhost zhao]# ls
    db  etc  test
    [root@localhost zhao]# cd etc/
    [root@localhost etc]# ls      #可以看到宿主机本地也有了该容器内部的文件
    mongod.conf

    (3)配置映射主机目录

    对应容器点击进入升级,找到数据卷部分,做以下配置。以将mongodb容器的配置文件映射到宿主机持久化为例。映射目录也是一样的方式

     确认升级,即可完成文件或目录的映射持久化

  • 相关阅读:
    RapidJSON简介及使用(转)
    唯一ID生成算法剖析(转)
    OpenCV相机标定及距离估计(单目)(转)
    Linux 格式化分区 报错Could not stat --- No such file or directory 和 partprobe 命令
    Linux下chkconfig命令详解
    Linux设置开机服务自动启动
    CentOS 6.3下Samba服务器的安装与配置
    vmware 命令行启动虚拟机
    Linux自动修改IP脚本(手动编写)
    网络高清视频监控传输:如何减少带宽消耗?
  • 原文地址:https://www.cnblogs.com/biaopei/p/12001950.html
Copyright © 2011-2022 走看看