问题
我正在尝试将CI服务器(Circle)中的Dockerized应用程序部署到Heroku。
当我运行heroku docker:release --app <app_name>
时,CI日志显示以下内容:
Error response from daemon: permission denied
! Error in heroku-docker:
! Command failed: docker cp 93a67016632af5cffacab9817b741c4dc69b41f0f6d324c8bae53fe98f4e621d:/tmp/slug.tgz /tmp
但是,我可以从本地计算机上运行此命令。我提供给Circle的API密钥与我本地用户提供的密钥相同。此外,我可以从CI服务器运行其他Heroku命令,例如heroku logs --app <app_name>
。
为什么会出现权限错误?
额外背景信息
似乎Heroku支持Docker的唯一方法是使用Docker Toolbelt和Docker插件(heroku docker:release --app <app_name>
)。同时,在CircleCI中部署到Heroku的推荐方法是在专有circle.yml
文件中使用special entry。但是,这不支持Docker,这就是我选择heroku docker:release
方法的原因。