【问题标题】:Run docker command inside jenkins container in WSL2 Permission denied在 WSL2 权限被拒绝的詹金斯容器内运行 docker 命令
【发布时间】:2021-08-28 02:23:51
【问题描述】:

我在 debian 发行版的 Windows 10 笔记本上安装了 Docker Desktop。我遇到的问题是当我想在带有 jenkins 的容器内运行 docker 时。

我使用 docker-compose 创建了 jenkins 容器:

version:             '2.4'
services:
  jenkins:
    image:           jenkins/jenkins
    user:            root
    privileged:      true
    container_name:  jenkins
    restart:         unless-stopped
    ports:
      - 8080:8080
      - 8443:8443
      - 50000:50000
    group_add:
      - 1000
    volumes:
      - jenkins_home:/var/jenkins_home
      - /c/Users/user/.docker/config.json:/root/.docker/config.json:ro 
      - /c/Users/user/.docker/machine/certs:/root/.docker:ro
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/local/bin/docker:/usr/bin/docker 
    environment:
      - JENKINS_OPTS="--prefix=/jenkins"

当我运行容器时,我通过运行进入:

>docker exec -it -u root jenkins sh
>docker
>sh: docker: Permission denied

并且不会让我做任何其他事情。我也无法在管道中构建图像。

我阅读了在谷歌上找到的所有内容,但没有任何帮助。一些指南说要创建将 jenkins 用户添加到 docker 组,但这对我没有帮助,因为我在容器中运行 jenkins。

我暴露了tcp://0.0.0.0:2375的地址,但没有用。

我用“alpine/socat”创建了一个中间容器,但它也不起作用。

如何在 jenkins 容器中运行 docker 命令,在 WSL 中?

谢谢。

【问题讨论】:

  • 您是否尝试在 docker 容器中运行 docker 命令?
  • 没错。我最近使用 WSL 从 Docker Tool Box 迁移到 Docker Desktop 并遇到了这个问题。在添加几个环境变量之前,它运行良好并且没有任何问题。但是现在使用 Docker 工具箱,我无法在容器内运行 docker 命令,而且我不知道我缺少哪些设置或有什么错误。

标签: docker jenkins debian wsl-2


【解决方案1】:

终于在这个链接里找到了解决办法:https://github.com/docker/for-win/issues/1480#issuecomment-355671606

对于那些来寻找相同问题的解决方案的人,您只需安装 docker 客户端即可。

curl -sSL https://download.docker.com/linux/static/stable/x86_64/docker-17.09.1-ce.tgz | sudo tar -C /usr/local/bin -xz --strip=1 docker/docker

在我的例子中,没有必要输入 export DOCKER_HOST=tcp://localhost:2375,因为 Docker Desktop 已经公开了该端口。如果我加了,报错Cannot connect to the Docker daemon at tcp://localhost: 2375. Is the docker daemon running?,所以没放。

【讨论】:

    猜你喜欢
    • 2018-05-25
    • 2020-01-08
    • 2014-08-25
    • 1970-01-01
    • 2018-04-04
    • 2012-06-08
    • 2012-08-19
    • 2017-03-26
    • 1970-01-01
    相关资源
    最近更新 更多