【发布时间】: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