Bluemix上的Docker运行命令不允许正确设置环境variables
当我尝试创build一个泊坞窗容器
cf ic run -e AUTHORIZED_KEYS="`cat ~/.ssh/id_rsa.pub`" --name ssh-test -d busybox
或者在设置环境variables之后
docker run -e AUTHORIZED_KEYS="`cat ~/.ssh/id_rsa.pub`" --name ssh-test -d busybox
我总是得到以下错误消息,在本地docker主机上运行命令时未报告:
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文档ENVvariables需要包含在双引号中https://docs.docker.com/reference/run/#env-environment-variables
这可能是为什么你的猫命令的输出是爆炸给“太多的值解包”。 可能在本地执行它是检查和“纠正”,但在networking打包/拆包省略双引号不支持。
无论如何,根据我上面链接的Docker文档,您可以尝试直接在Docker文件中添加公钥的值,在那里您可以像通过控制台一样指定ENVvariables:使用Dockerfile将允许您以更舒适的方式进行pipe理你的公钥的价值。