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容器的配置文件映射到宿主机持久化为例。映射目录也是一样的方式

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

  • 相关阅读:
    防止论坛用户重复登录的方法 .
    配置Windows服务器支持json文件的方法
    在线修改ServU密码注意问题。
    a href=#与 a href=javascript:void(0) 的区别,以及location.href含义
    使用sql命令连接字符串类型和整型类型的数据
    数据库SQL Server 2005 的级联设置 外键赋值
    使用VS发布网站后遇到的Fill为Null的奇怪错误。
    使用Visual Studio 2005 IDE的宏,自动为c#变量生成属性
    推荐Zen Garden
    使用 aspnet_regsql.exe 向 SQL Express 数据库中注册脚本
  • 原文地址:https://www.cnblogs.com/ExMan/p/13741205.html
Copyright © 2011-2022 走看看