【发布时间】:2018-01-29 12:02:59
【问题描述】:
我有一个很简单的config.yml:
version: 2
jobs:
build:
working_directory: ~/app
docker:
- image: circleci/node:8.4.0
steps:
- checkout
- run: node -e "console.log('Hello from NodeJS ' + process.version + '\!')"
- run: yarn
- setup_remote_docker
- run: docker build .
它所做的一切:启动node 映像,测试节点是否正在运行,执行yarn install 和docker build。
我的 dockerfile 没什么特别的;它有一个 COPY 和 ENTRYPOINT。
当我使用 Docker Native 在我的 MacBook Air 上运行 circleci build 时,我收到以下错误:
Got permission denied while trying to connect to the Docker daemon socket at unix://[...]
如果我将 docker build . 命令更改为:sudo docker build .,则使用 circleci build 在本地一切都按计划进行。
但是,将此更改推送到 CircleCI 将导致错误:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
所以,总结一下:使用 sudo 在本地有效,但不适用于 CircleCI 本身。 不使用 sudo 在 CircleCI 上工作,但在本地不工作。
这是 CircleCI 工作人员必须解决的问题,还是我可以做些什么?
For reference, I have posted this question on the CircleCI forums as well.
【问题讨论】:
标签: docker continuous-integration sudo circleci