当我尝试使用其中一个创建docker容器时
cf ic run -e AUTHORIZED_KEYS="`cat ~/.ssh/id_rsa.pub`" --name ssh-test -d busybox
docker run -e AUTHORIZED_KEYS="`cat ~/.ssh/id_rsa.pub`" --name ssh-test -d busybox
FATA[0001] Error response from daemon: Error creating container
{'space_guid': u'guid', 'name': u'ssh-test', 'tenant_name': u'tenant',
'image': u'guid', 'security_groups': None, 'flavor': u'1', 'id': None,
'tenant': u'tenant'}: too many values to unpack
=
)字符:cf ic run -e "AUTHORIZED_KEYS='ABC=='" --name ssh-test busybox
最佳答案
遵循此Docker文档后,需要在双引号中包含ENV变量
https://docs.docker.com/reference/run/#env-environment-variables
这可能是为什么cat命令的输出爆炸后给出“太多值无法解压”的原因。
可能在本地执行时会对其进行检查和“更正”,但在网络打包/拆包期间不支持省略双引号。
无论如何,根据我上面链接的Docker文档,您可以尝试直接在Docker文件中添加公钥的值,在其中您可以像通过控制台一样指定ENV变量:使用Dockerfile将使您以更舒适的方式进行管理公钥的值。
https://stackoverflow.com/questions/32290316/