Docker:尝试使用本地CircleCI构建连接到Docker Daemon时权限被
我有一个非常简单的config.yml:
它所做的全部工作:引导节点映像,测试节点是否正在运行,执行yarn安装和docker build. 我的dockerfile没什么特别的.它有一个COPY和ENTRYPOINT. 当我使用Docker Native在MacBook Air上运行circleci构建时,出现以下错误: 尝试连接到unix:// […]上的Docker守护进程套接字时,获得的权限被拒绝 如果我更改docker build.命令执行以下命令:sudo docker build.,一切都按计划在本地进行,并使用circleci构建. 因此,总结一下:在本地使用sudo可以,但是不能在CircleCI本身上使用.不使用sudo在CircleCI上有效,但不能在本地使用. 是CircleCI员工必须解决的问题,还是我可以做些什么? For reference,I have posted this question on the CircleCI forums as well. 最佳答案
我为自己创建了一个解决方法.
在config.yml的第一步中,我运行以下命令:
之后,您可以执行以下操作:
说明: 第一个代码段检查CircleCI提供的环境变量CIRCLE_SHELL_ENV是否包含localbuild.只有在本地计算机上运行circleci构建时,这才是正确的. 第二个片段打开?/ sudo文件,并使用您随后提供的参数执行该文件.如果?/ sudo文件包含“ sudo”,则此示例中的命令将成为sudo docker build.,如果不包含任何内容,它将成为docker build.,并在其前面有一个空格,但这将被忽略. 这样,本地(circleci构建)构建和远程构建都将起作用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |