【发布时间】:2018-11-16 13:48:21
【问题描述】:
所以我使用了 testcafe 的默认 docker,它在 docker hub 上是 testcafe/testcafe,我必须运行一些 testcafe 脚本。
但是,我需要将错误触发的屏幕截图上传到某个地方,以便在 docker 映像运行完成后稍后查看它。
我正在使用使用 bash 的 Imgur 程序,因此我重新做了一些事情以使其与 sh 兼容,并且一切正常,除了我需要 curl。我试着跑了
apk add curl
但我得到了错误
ERROR: Unable to lock database: Permission denied ERROR: Failed to open apk database:
现在我不,这意味着我无权执行此操作,但我可以解决这个问题吗?是否有某种方法可以成为 root(这是在 bitbucket 管道中)。
我真的不想创建自己的 docker。
还请注意,我发现的所有与此相关的问题都是关于在创建 docker 时进行安装的,但是,我的问题是如何在创建 docker 后执行此操作。 thx(一个很好的答案是另一种保存屏幕截图的方法,但最好不要使用 ssh)。
【问题讨论】:
-
运行容器时可以加-u="root"命令:docker run -it -u="root" testcafe/testcafe 这就是你要的吗?
-
感谢@Marion,但在我进入 docker 后我没有启动 docker
-
@Vladimir_314159 你真的应该尝试一下@Marion 的建议,因为在 docker 命令行上指定一个用户将在容器中以该用户的身份运行默认或提供的命令(因此,如果你启动一个 shell,您将以 root 身份以 shell 结尾,这可能是您能够
apk add所需要的)。我遇到了与您描述的完全相同的问题,这就是解决方案。 -
我可以在 bitbucket 管道上执行此操作吗? @GuillaumeG。
-
@Vladimir_314159 在 Bitbucket Pipelines 中,您可以使用“run-as”标签。 confluence.atlassian.com/bitbucket/… 你希望以 '0' 的身份运行。
标签: docker testing automated-tests alpine testcafe