docker 在 docker 通过绑定丘 - ubuntu

docker in docker via bind mound - ubuntu

我需要一个 ubuntu 图像,然后 运行 使用该图像的构建过程。一切都很好,直到构建达到执行 docker build

的程度

假设我使用以下方法对此进行测试:

Docker 文件

FROM ubuntu:latest

然后我构建那个 - docker build -t ubuntudkr . 接下来,我运行喜欢:

docker run -ti -v /var/run/docker.sock:/var/run/docker.sock ubuntudkr

当我在这个容器中 运行 docker ps 时,我得到错误 bash: docker: command not found

我找到的所有例子都说我需要 运行:

docker run -v /var/run/docker.sock:/var/run/docker.sock \
           -ti docker

他们都使用包含 docker 库的 docker 图像。那么我的答案是在我的基本映像中安装 docker 以使其工作吗?这不违背docker themselves says吗?

many other 篇博文给出了相同的建议,但我的示例确实有效。我哪里出错了?

将 docker 文件中的图像 ubuntu:latest 替换为官方 docker:latest 图像,该图像包含 docker 二进制文件并且完全符合您的要求:https://hub.docker.com/_/docker

如果你想保留 Ubuntu 图像,你必须在你的错误之后安装 Docker 工具。默认情况下,Ubuntu 映像不包含 Docker 二进制文件作为常规 Ubuntu 安装。