对于共享相同文件系统的容器,这是一项简单的任务,但我不确定使用 LVM 磁盘的容器的正确方法是什么。
我知道我可以使用rsync或scp,但我想知道是否有可能做到这一点,没有设置ssh/ ftp/http服务器。此外,能够在不修改容器配置的情况下传输文件会很好,因为它需要重新启动容器。避免永久挂载共享文件夹是个好主意,因为这可能会带来潜在的安全风险(应该可以使用简单的挂载/卸载选项)。
我想到的一个选项是在主机上使用 WebDAV 服务器并将其安装在容器中,但我还没有分析它,我不确定它可能带来的性能损失。我认为的其他选项是在主机上安装 LVM 分区,但我不确定这是否安全。
在我的配置中,我使用以下命令创建容器:
lxc-create -t ubuntu -n "${NAME}" -B lvm --vgname lxc-vg --fssize "${SIZE}"
Run Code Online (Sandbox Code Playgroud)
除了自动启动功能外,我使用的是默认配置,该功能是通过将以下几行添加到/var/lib/lxc/${NAME}/config文件中实现的:
lxc.start.auto = 1
lxc.start.delay = 0
Run Code Online (Sandbox Code Playgroud) 我使用 mydomain.org 作为通用名称生成了一个自签名证书颁发机构。我在“权限”选项卡下使用 Thunderbird 的证书管理器导入了公共证书。到现在为止还挺好。
接下来,使用这个 CA,我已经为 mail.mydomain.org 生成(并签署了)一个证书,但即使我导入了 CA,我仍然收到“添加安全例外”弹出窗口并显示“未知身份”消息我第一次尝试连接。这是说明情况的屏幕截图:

注意:CA 和邮件证书均使用“SHA-1 With RSA Encryption”签名。
注 2:我知道我应该从受信任的机构获取证书,这是一个临时解决方案。
所以我的问题是:
1) 这种行为正常吗?
2) 我如何“说服”Thunderbird 我的 CA 签署的所有证书都是可信的?
更新
% openssl s_client -connect mail.mydomain.org:993
CONNECTED(00000003)
depth=1 <snip> CN = mydomain.org, <snip>
verify error:num=19:self signed certificate in certificate chain
verify return:0
---
Certificate chain
0 s:/<snip>/CN=mail.mydomain.org/<snip>
i:/<snip>/CN=mydomain.org/<snip>
1 s:/<snip>/CN=mydomain.org/<snip>
i:/<snip>/CN=mydomain.org/<snip>
---
Server certificate
-----BEGIN CERTIFICATE-----
<BASE64>
-----END CERTIFICATE-----
subject=/<snip>/CN=mail.mydomain.org/<snip>
issuer=/<snip>/CN=mydomain.org/<snip>
---
No client certificate CA names sent
---
SSL handshake has read 2807 bytes …Run Code Online (Sandbox Code Playgroud)