轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
cruizba/ubuntu-dind
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

ubuntu-dind Docker 镜像下载 - 轩辕镜像

ubuntu-dind 镜像详细信息和使用指南

ubuntu-dind 镜像标签列表和版本信息

ubuntu-dind 镜像拉取命令和加速下载

ubuntu-dind 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

ubuntu-dind
cruizba/ubuntu-dind

ubuntu-dind 镜像详细信息

ubuntu-dind 镜像标签列表

ubuntu-dind 镜像使用说明

ubuntu-dind 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

基于Ubuntu的Docker-in-Docker (DinD)镜像,支持在容器内运行Docker容器,兼容Ubuntu LTS版本(focal、jammy、noble),支持arm64和amd64架构,易于使用和扩展,并保持Docker、Compose及Buildx的最新版本。
10 收藏0 次下载activecruizba镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

ubuntu-dind 镜像详细说明

ubuntu-dind 使用指南

ubuntu-dind 配置说明

ubuntu-dind 官方文档

Ubuntu DinD (Docker in Docker) 镜像

![GitHub Repo stars]([] ![GitHub Release Date]([]

![X (formerly ) Follow]([]

基于Ubuntu的Docker镜像,用于在容器内部运行Docker容器,并提供以下额外特性:

  1. 易于使用(更多信息):

[!WARNING] --privileged选项不安全,仅用于开发或测试目的。 安全的正确做法:[***]

docker run -it --privileged cruizba/ubuntu-dind

或使用sysbox:

docker run -it --runtime=sysbox-runc cruizba/ubuntu-dind
  1. 兼容当前Ubuntu LTS版本(focal、jammy和noble)
  2. 支持arm64和amd64架构
  3. 易于扩展、自定义和使用
  4. 始终更新当前的buildx、compose和docker版本

目录

  1. 致谢
  2. 理解DinD及其挑战
    • 使用套接字共享的Docker-out-of-Docker (DooD):挑战
    • 容器内运行Docker守护进程的DinD:解决方案
  3. 使用指南
    • 最快但不安全的方式
    • 更安全且推荐的方式
  4. 使用场景
    • 测试Docker镜像的环境
    • 直接运行Docker命令
    • 可扩展性(通过脚本自动化构建、测试)
  5. 可用镜像
  6. 支持我的工作

1. 致谢

本项目的灵感来源于两个现有仓库:

  1. DinD 作者 alekslitvinenk:该仓库提供了轻量级解决方案,为本项目奠定了基础思路。本项目的特色在于使用Ubuntu作为容器的基础操作系统,并随着时间推移进行了一些改进。
  2. Docker:该仓库提供了Docker的Docker镜像。

2. 理解DinD及其挑战

有时需要在Docker容器内运行其他Docker容器,这通常需要变通解决方案,尤其是在CI/CD流水线或需要大量虚拟化的软件中。

有两种方法可以执行DinD:

2.1 使用套接字共享的Docker-out-of-Docker (DooD):挑战

此策略通过-v /var/run/docker.sock:/var/run/docker.sock共享主机系统的/var/run/docker.sock套接字。本质上,这种技术允许我们从主容器中生成由主机系统管理的容器。然而,在这些次级容器中创建的任何容器实际上只在主机系统上出现,而不在发起容器内部。这种方法通常会遇到两个主要挑战:

  • 网络挑战:在DooD系统中,当在一个容器内实例化另一个容器时,两个容器均由主机系统管理。因此,如果从DooD容器运行一个暴露端口3306的容器,该端口对主机可见,但发起它的容器无法访问。

  • 目录卷:假设计划在"container-2"内运行"container-1",并尝试使用卷将"container-1"的目录共享到"container-2",这将无法工作。原因在于套接字共享——我们实际上不是从主容器共享目录,而是从主机共享目录。尽管这些挑战有解决方案,但往往复杂且繁琐。

2.2 容器内运行Docker守护进程的DinD:解决方案

这种方法虽然安全性较低(--privileged选项绕过了许多容器化安全特性),但能够在需要时创建一个内部带有Docker的新容器,有效解决网络和卷问题。现在可以将"container-1"的文件夹共享给由其创建的"container-2",并从"container-2"暴露可被"container-1"访问的端口。

但实际上有安全运行此容器的方法。可以使用nestybox/sysbox运行时来安全地运行此容器。该运行时是一种容器运行时,支持安全且高性能的Docker-in-Docker (DinD),是--privileged选项的理想替代方案。

您可以在使用指南部分查看如何不安全或安全地运行此容器。

3. 使用指南

测试或使用此镜像非常简单,有两种选择:

3.1 最快但不安全的方式:

要使用此Docker-in-Docker镜像,运行以下命令:

docker run -it --privileged cruizba/ubuntu-dind

如果需要systemd环境,也可以使用systemd-latest标签:

docker run -d --name ubuntu-dind --privileged cruizba/ubuntu-dind:systemd-latest
docker exec -it ubuntu-dind bash

3.2 更安全且推荐的方式:

此选项需要在系统中安装Sysbox。您可以查看此处了解安装方法(遗憾的是,包安装仅适用于基于debian的发行版)。

要在更安全的环境中使用此Docker-in-Docker镜像,运行以下命令:

docker run -it --runtime=sysbox-runc cruizba/ubuntu-dind

如果需要systemd环境,也可以使用systemd-latest标签:

docker run -d --name ubuntu-dind --runtime=sysbox-runc cruizba/ubuntu-dind:systemd-latest
docker exec -it ubuntu-dind bash

4. 使用场景

4.1. 测试Docker镜像的环境

只需运行镜像即可获得干净的环境来测试您的Docker镜像:

  • 不安全命令:
docker run -it --privileged cruizba/ubuntu-dind
  • 安全命令:
docker run -it --runtime=sysbox-runc cruizba/ubuntu-dind

这将在容器内启动一个root bash终端,您可以在其中运行docker命令。

4.2. 直接运行Docker命令

可以直接运行命令来测试镜像:

  • 不安全命令:
docker run -it --privileged cruizba/ubuntu-dind docker run hello-world
  • 安全命令:
docker run -it --runtime=sysbox-runc cruizba/ubuntu-dind docker run hello-world

4.3. 可扩展性(通过脚本自动化构建、测试)

您可以扩展此镜像以添加自己的工具和配置。下面创建一个示例,使用此镜像构建项目并测试,展示其扩展性和强大功能:

FROM cruizba/ubuntu-dind:latest

# 安装依赖
RUN apt-get update && apt-get install git -y

COPY entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/entrypoint.sh

entrypoint.sh:

#!/bin/bash

# 启动docker
start-docker.sh

# 此处添加你的命令
git clone [***]
cd ubuntu-dind || exit 1
docker build . -f ubuntu-jammy.Dockerfile -t ubuntu-dind-test

docker run --privileged ubuntu-dind-test docker run hello-world

此脚本将克隆此仓库、构建镜像并从中运行容器。

需要特别注意的是,在使用docker命令前需要运行start-docker.sh脚本,该脚本将启动容器内的docker守护进程。

您可以在examples文件夹中找到此示例。

[!NOTE] 对于systemd镜像,入口点脚本不同,且不需要start-docker.sh脚本。要在systemd镜像中执行命令,需要docker exec进入容器并运行命令。

5. 可用镜像

您可以在Docker Hub找到可用镜像。也可以查看Releases部分了解可用标签:Releases

所有标签均以下列格式发布:

  • 固定版本镜像:具有固定版本Docker、Docker Compose和Docker Buildx的镜像。您可以在Releases部分查看每个版本。如果Docker的发布速度较慢,将发布修订版以保持基础镜像更新。
  • 带修订号的固定版本镜像:这些是最稳定的镜像,具有固定版本的Docker、Docker Compose、Docker Buildx和修订号。发布后将不再更新。
  • 各Ubuntu版本的最新镜像:这些是每个Ubuntu版本的最新镜像,将更新为Docker、Docker Compose和Docker Buildx的最新版本。
  • 最新镜像:这些是最新Ubuntu版本的最新Docker、Docker Compose和Docker Buildx版本。

固定版本镜像

# 普通镜像
cruizba/ubuntu-dind:focal-<docker-version>
cruizba/ubuntu-dind:jammy-<docker-version>
cruizba/ubuntu-dind:noble-<docker-version>

# Systemd镜像
cruizba/ubuntu-dind:focal-systemd-<docker-version>
cruizba/ubuntu-dind:jammy-systemd-<docker-version>
cruizba/ubuntu-dind:noble-systemd-<docker-version>

带修订号的固定版本镜像

# 普通镜像
cruizba/ubuntu-dind:focal-<docker-version>-r<revision>
cruizba/ubuntu-dind:jammy-<docker-version>-r<revision>
cruizba/ubuntu-dind:noble-<docker-version>-r<revision>

# Systemd镜像
cruizba/ubuntu-dind:focal-systemd-<docker-version>-r<revision>
cruizba/ubuntu-dind:jammy-systemd-<docker-version>-r<revision>
cruizba/ubuntu-dind:noble-systemd-<docker-version>-r<revision>

各Ubuntu版本的最新镜像:

# 普通镜像
cruizba/ubuntu-dind:focal-latest
cruizba/ubuntu-dind:jammy-latest
cruizba/ubuntu-dind:noble-latest

# Systemd镜像
cruizba/ubuntu-dind:focal-systemd-latest
cruizba/ubuntu-dind:jammy-systemd-latest
cruizba/ubuntu-dind:noble-systemd-latest

最新镜像

# 普通镜像
cruizba/ubuntu-dind:latest

# Systemd镜像
cruizba/ubuntu-dind:systemd-latest

6. 支持我的工作

如果您喜欢我的工作,可以通过GitHub Sponsor支持我。非常感谢您的支持。

![GitHub Sponsors]([***]

查看更多 ubuntu-dind 相关镜像 →
accupara/ubuntu-dind logo
accupara/ubuntu-dind
by accupara
暂无描述
10K+ pulls
上次更新:1 个月前
eddevopsd2/ubuntu-dind logo
eddevopsd2/ubuntu-dind
by eddevopsd2
暂无描述
10K+ pulls
上次更新:1 个月前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.