前言

在 Docker 中使用 Docker 也是一门学问,因为你直接在 Docker 中安装 Docker 的话,一定会遇到一大堆报错问题。因此本篇文章介绍一个最简单的在 Docker 中使用 Docker 的方式:Docker outside of Docker (DooD)

DooD 是一种运行 Docker 的方式,它允许你在 Docker 容器外部运行 Docker 命令。这意味着你容器内的 Docker 客户端直接与宿主机上的 Docker 守护进程通信,而不是在容器内部启动一个新的 Docker 守护进程。

这句话意思是你容器内部的 Docker 和容器外部的 Docker 共享同一个守护进程(你可以理解为是同一个 Docker)

我个人觉得 DooD 很方便,而且本文的构建方式可以在任何已有的基于Ubuntu的镜像基础上构建(附加 Docker 功能和指令),很方便!

按照我的个人习惯,本文中部署 DooD 的方式全程使用 1Panel (1Panel 安装指南),不需要运行任何命令

实现步骤

Docker 镜像构建

第一步,打开你服务器的 1Panel 面板,前往 容器 -> 镜像 -> 构建镜像 -> Dockerfile 编辑,输入以下内容:

此处内容需要评论回复后(审核通过)方可阅读。

第一行的 ubuntu:latest 字段可以替换成任何基于 Ubuntu 的镜像

构建的镜像名称随意,后续会用到

启动设置

  • 等待镜像构建完成之后,转到 容器,点击 创建容器,同意,名称随意
  • 镜像处选择我们刚刚构建好的镜像,例如 DooD:latest
  • 网络可以选择 bridge 或者 host
  • 挂载处点击 添加,左右都输入 /var/run/docker.sock 如图所示
    挂载设置
  • 控制台交互处选择 伪终端 ( -t )
  • 其余按自己的喜好填写,比如重启规则,可以按服务需求选择 一直重启 或者 失败后重启

完成之后点击 确认,容器就启动成功了

启动完成之后可以进入容器终端,在终端中输入 docker ps,如果可以看到自己当前运行的容器,即构建成功!

最后修改:2025 年 02 月 17 日
如果觉得我的文章对你有用,请随意赞赏(☆ω☆)