我想在 Openstack 中创建实例,在通过 ssh 连接之前,这些实例中已经安装了 Docker。所以我很自然地对 Cloud-init 技术感兴趣,因为它允许我们在第一次启动时在虚拟机上安装软件包。所以现在我尝试在启动时在我的实例上安装 Docker,这是我传递给用户数据的代码;
#cloud-config
packages:
- docker.io
这显然不起作用,那么我怎样才能使它起作用呢?
如果您想从 Ubuntu 实例上的 Docker 存储库进行安装,并且您不太喜欢下载并执行任意 shell 脚本的想法,那么您所需要的就是:
#cloud-config
apt:
sources:
docker.list:
source: deb [arch=amd64] https://download.docker.com/linux/ubuntu $RELEASE stable
keyid: 9DC858229FC7DD38854AE2D88D81803C0EBFCD88
packages:
- docker-ce
- docker-ce-cli
cloud-init 已经知道如何获取 GPG 密钥、如何添加 APT 源(即使是 HTTPS)、如何在安装软件包之前更新 APT,以及如何执行您在各种 shell 脚本中可以找到的所有其他内容这样做的方式很繁重。
如果 Docker 应该更改其存储库签名密钥,您可以让自己确信更改是合法的,然后通过以下方式获取新指纹:
$ curl -sL https://download.docker.com/linux/ubuntu/gpg | gpg
gpg: keybox '/home/ubuntu/.gnupg/pubring.kbx' created
gpg: WARNING: no command supplied. Trying to guess what you mean ...
pub rsa4096 2017-02-22 [SCEA]
9DC858229FC7DD38854AE2D88D81803C0EBFCD88
uid Docker Release (CE deb) <[email protected] /cdn-cgi/l/email-protection>
sub rsa4096 2017-02-22 [S]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)