装载的卷不会充满 docker 图像内容

mounted volumes don't get filled with docker image content

我运行宁Container Linux by CoreOS 1618.0.0 (Ladybug)

rkt Version: 1.29.0

我为 运行 一个 docker nagios 镜像创建了一个 systemd 服务文件:

[Unit]
Description=Nagios
Requires=network-online.target local-fs.target
After=network-online.target local-fs.target

[Install]
WantedBy=multi-user.target

[Service]
Slice=machine.slice
ExecStart=/usr/bin/rkt run --port=80-tcp:8018 --insecure-options=image --volume volume-var-log-apache2,kind=host,source=/mnt/storage/nagios/apache2-log --volume volume-usr-share-snmp-mibs,kind=host,source=/mnt/storage/nagios/snmp-mibs --volume volume-opt-nagiosgraph-etc,kind=host,source=/mnt/storage/nagios/nagiosgraph/etc --volume volume-opt-nagiosgraph-var,kind=host,source=/mnt/storage/nagios/nagiosgraph/var --volume volume-opt-nagios-libexec,kind=host,source=/mnt/storage/nagios/nagios/libexec --volume volume-opt-nagios-var,kind=host,source=/mnt/storage/nagios/etc,readOnly=false --volume volume-opt-nagios-etc,kind=host,source=/mnt/storage/nagios/var,readOnly=false --volume volume-opt-custom-nagios-plugins,kind=host,source=/mnt/storage/nagios/custom-plugins docker://jasonrivers/nagios:latest
KillMode=mixed
Restart=always
RestartSec=0
ExecStopPost=/usr/bin/rkt gc --mark-only

现在的问题是挂载的分区没有填充相关的图像文件。

通常我做的是提取图像本身并手动复制相关文件。

问题是……还有吗?

希望我错过了一个 rkt 参数,该参数用挂载位置 docker 图像中的文件填充相关的挂载目录

有什么想法吗?

您应该期望看到该卷自动填充了该特定安装点处映像中存在的任何文件。事实上恰恰相反,(大概是空的)体积 隐藏了 图像中的内容。看到这个:https://github.com/appc/spec/blob/master/spec/ace.md#volume-setup

因此,如果您想使用映像中的文件预填充卷,我相信您通过手动提取映像来做正确的事情。