【问题标题】:Global file to LXC containers?全局文件到 LXC 容器?
【发布时间】:2014-01-14 11:27:58
【问题描述】:

有没有办法让所有 LXC 容器都可以访问文件?我有一个 SQLite 数据库,我想与我的所有容器共享,这可能吗?

【问题讨论】:

    标签: linux debian lxc


    【解决方案1】:

    简单易懂。 使用挂载绑定。

    这是一个例子。

    首先,创建一个目录来存放您要在主机上共享的文件。

    mkdir /var/shared
    

    接下来我们需要在容器中创建一个可以挂载的目录。我在 Ubuntu 中使用默认位置并有 2 个容器。一个名为“test1”,另一个名为“test2”。

    mkdir /var/lib/lxc/test1/rootfs/var/shared
    mkdir /var/lib/lxc/test2/rootfs/var/shared
    
    mkdir /var/lib/lxc/<lxc container name here>/rootfs/var/shared
    

    以上命令是可选的。您可以使用容器中的任何子目录。我说“/var/shared”。

    接下来我们做:

    mount -o bind /var/shared /var/lib/lxc/test1/rootfs/var/shared
    mount -o bind /var/shared /var/lib/lxc/test2/rootfs/var/shared
    

    要在主机重新启动后保持这种状态,请执行以下操作。

    # vi /etc/fstab
    

    添加以下内容

    /var/shared   /var/lib/lxc/test1/rootfs/var/shared   none   rw,bind   0   0
    /var/shared   /var/lib/lxc/test2/rootfs/var/shared   none   rw,bind   0   0
    

    再一次,用您正确命名的容器替换 test1 和 test2。

    任何放置在 /var/shared 目录中的东西都可以被所有挂载的容器访问。但由于每个子容器的 UID 和 GID 可能不同,您可能必须 chmod 666 才能让每个容器的必要用户读取/写入内容。

    如果您需要任何进一步的解释或帮助,请发表评论。 -弗兰克

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-28
      • 1970-01-01
      • 1970-01-01
      • 2022-07-31
      • 1970-01-01
      • 2014-07-26
      相关资源
      最近更新 更多