我试图在 Linux 容器上放置一些 juju charms,但容器无法启动。为了调试这个问题,我进入了发生这种情况的节点,并尝试手动创建一个 LXC 容器,就像
ubuntu@slot13:~$ sudo lxc-create -t ubuntu -n pavan
Checking cache download in /var/cache/lxc/trusty/rootfs-amd64 ...
Installing packages in template: ssh,vim,language-pack-en
Downloading ubuntu trusty minimal ...
I: Retrieving Release
它根本没有取得任何进展。它在这里停留了很长时间。过了很长时间后,它说,
ERROR: Unable to fetch GPG key from keyserver
并继续挂起。最后在 20-30 分钟后,它放弃了,就像
E: Failed getting release file http://archive.ubuntu.com/ubuntu/dists/trusty/Release
命令对应的日志文件在哪里lxc-create
?如何调试这个问题?
编辑:我知道如何查看调试日志,因此运行了下面的命令几次
sudo lxc-create -t ubuntu -n pavan --logfile=test.txt --logpriority=DEBUG
test.txt
仅包含此内容
lxc-create 1414897265.204 ERROR lxc_container - Error: pavan creation was not completed
lxc-create 1414897407.757 ERROR lxc_container - Error: pavan creation was not completed
lxc-create 1414897407.759 WARN lxc_log - lxc_log_init called with log already initialized
但它仍然挂起并且调试日志没有提供太多帮助。
答案1
请附加--no-validate
标志以跳过 gpg 验证:
lxc-create -t ubuntu -n pavan -- --no-validate
参考https://github.com/lxc/lxc/blob/master/templates/lxc-download.in#L240
答案2
您是否使用了代理?如果是,那么您可以在 bash 中设置代理。以下是问题:
export http_proxy="http://<proxy_host>:<port>"
答案3
实际上 juju 使用 'ubuntu-cloud' 模板来抓取图像,在我运行 trusty 的系统中创建模板所执行的命令是:
lxc-create -n juju-trusty-lxc-template \
-t ubuntu-cloud \
-f /var/lib/juju/containers/juju-trusty-lxc-template/lxc.conf \
-- --debug \
--userdata /var/lib/juju/containers/juju-trusty-lxc-template/cloud-init \
--hostid juju-trusty-lxc-template
-r trusty
我建议您运行类似的东西,看看会出现什么错误。
答案4
问题
如果您位于限制互联网访问的防火墙后面,则可能会收到此错误:
$ lxc-create -t download -n my-container
Setting up the GPG keyring
ERROR: Unable to fetch GPG key from keyserver.
lxc-create: lxccontainer.c: create_run_template: 1297 container
creation template for my-container failed
lxc-create: tools/lxc_create.c: main: 318 Error creating
container my-container
使固定
通过80端口连接密钥服务器:
$ lxc-create -t download -n my-container \
-- --keyserver hkp://p80.pool.sks-keyservers.net:80
细节
密钥服务器hkp://p80.pool.sks-keyservers.net:80
来自lxc
源代码:
apt source lxc
grep -ri hkp: .