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

Tianon(Docker 项目成员)
Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow
(关于“共享标签”与“基础标签”的区别,参见 FAQ)
28.5.1-cli, 28.5-cli, 28-cli, cli, 28.5.1-cli-alpine3.2228.5.1-dind, 28.5-dind, 28-dind, dind, 28.5.1-dind-alpine3.22, 28.5.1, 28.5, 28, latest, 28.5.1-alpine3.2228.5.1-dind-rootless, 28.5-dind-rootless, 28-dind-rootless, dind-rootless28.5.1-windowsservercore-ltsc2025, 28.5-windowsservercore-ltsc2025, 28-windowsservercore-ltsc2025, windowsservercore-ltsc202528.5.1-windowsservercore-ltsc2022, 28.5-windowsservercore-ltsc2022, 28-windowsservercore-ltsc2022, windowsservercore-ltsc202228.5.1-windowsservercore, 28.5-windowsservercore, 28-windowsservercore, windowsservercore:
28.5.1-windowsservercore-ltsc202528.5.1-windowsservercore-ltsc2022(详情参见 官方说明)
amd64, arm32v6, arm32v7, arm64v8, windows-amd64
repo-info 仓库的 repos/docker/ 目录(历史记录)
(包含镜像元数据、传输大小等)
official-images 仓库的 library/docker 标签
official-images 仓库的 library/docker 文件(历史记录)
docs 仓库的 docker/ 目录(历史记录)
尽管通常不建议在 Docker 内部运行 Docker,但仍有一些合理场景(例如 Docker 自身的开发工作)。
Docker 是一个开源项目,通过在 Linux、macOS 和 Windows 上提供操作系统级虚拟化的抽象层和自动化工具,实现应用程序在软件容器中的自动化部署。
来源:***.org/wiki/Docker_(software)
使用 Docker-in-Docker 前,建议阅读 Jérôme Petazzoni 的相关博客文章,其中详细介绍了其优缺点及潜在问题。
18.09+ 版本的 dind 镜像会通过环境变量 DOCKER_TLS_CERTDIR 指定的目录自动生成 TLS 证书。
注意:18.09 版本默认禁用此功能(为保证兼容性)。若使用 --network=host、共享网络命名空间(如 Kubernetes Pod)或容器可被网络访问(包括通过网关接口访问 dind 实例中启动的容器),可能存在安全风险(例如主机系统被访问)。建议通过设置 -e DOCKER_TLS_CERTDIR=/certs 启用 TLS,19.03+ 版本默认启用。
启用后,Docker 守护进程将以 --host=tcp://0.0.0.0:2376 --tlsverify ... 启动;禁用时则以 --host=tcp://0.0.0.0:2375 启动。
$DOCKER_TLS_CERTDIR 目录下包含三个子目录:
ca:证书颁发机构文件(cert.pem、key.pem)server:守护进程(dockerd)证书文件(cert.pem、ca.pem、key.pem)client:客户端(docker)证书文件(cert.pem、ca.pem、key.pem,适用于 DOCKER_CERT_PATH)若需从“客户端”容器使用此功能,至少需共享 $DOCKER_TLS_CERTDIR 的 client 子目录(见下文示例)。
如需禁用此行为,可直接覆盖容器命令或入口点运行 dockerd(例如 ... docker:dind dockerd ... 或 ... --entrypoint dockerd docker:dind ...)。
$ docker run --privileged --name some-docker -d \ --network some-network --network-alias docker \ -e DOCKER_TLS_CERTDIR=/certs \ -v some-docker-certs-ca:/certs/ca \ -v some-docker-certs-client:/certs/client \ docker:dind
注意:--privileged 是 Docker-in-Docker 正常运行的必要参数,但会赋予容器对主机环境的完全访问权限,使用时需谨慎(详见 Docker 文档)。
$ docker run --rm --network some-network \ -e DOCKER_TLS_CERTDIR=/certs \ -v some-docker-certs-client:/certs/client:ro \ docker:latest version
(输出示例略,可显示客户端与服务端版本信息)
$ docker run --privileged --name some-docker -d \ --network some-network --network-alias docker \ -e DOCKER_TLS_CERTDIR=/certs \ -v some-docker-certs-ca:/certs/ca \ -v some-docker-certs-client:/certs/client \ docker:dind --storage-driver overlay2
参考官方 systemd docker.service 配置,生产环境可考虑调整以下参数:
$ docker run --privileged --name some-docker -d \ ... \ --ulimit nofile=-1 \ --ulimit nproc=-1 \ --ulimit core=-1 \ --pids-limit -1 \ --oom-score-adj -500 \ docker:dind
部分参数可能受主机 dockerd 限制(例如 --ulimit nofile=-1 可能报错 error setting rlimit type 7: operation not permitted),需根据实际环境调整。
Docker 容器数据存储有两种常见方式:
示例(主机目录挂载):
/my/own/var-lib-docker$ docker run --privileged --name some-docker -v /my/own/var-lib-docker:/var/lib/docker -d docker:dind
-v /my/own/var-lib-docker:/var/lib/docker 将主机目录挂载为容器内 Docker 数据目录。
docker:<version>默认镜像,适用于临时容器(挂载代码启动应用)或作为基础镜像构建其他镜像。
docker:<version>-rootless无 root 权限变体,实验性特性(详情参见 docker-library/docker#174)。
注意:与常规 dind 镜像相同,--privileged 是必要参数(相关说明 及 安全说明)。
基础用法示例:
$ docker run -d --name some-docker --privileged docker:dind-rootless $ docker logs --tail=3 some-docker # 验证守护进程是否完成证书生成并监听 time="xxx" level=info msg="Daemon has completed initialization" time="xxx" level=info msg="API listen on /run/user/1000/docker.sock" time="xxx" level=info msg="API listen on [::]:2376" $ docker exec -it some-docker docker-entrypoint.sh sh # 进入容器,自动配置 DOCKER_HOST / $ docker info --format '{{ json .SecurityOptions }}' ["name=seccomp,profile=default","name=rootless"]
如需修改 UID/GID,可通过 Dockerfile 调整:
FROM docker:dind-rootless USER root RUN set -eux; \ sed -i -e 's/^rootless:x:1000:1000:/rootless:x:1234:5678:/' /etc/passwd; \ sed -i -e 's/^rootless:x:1000:/rootless:x:5678:/' /etc/group; \ chown -R rootless ~rootless USER rootless
docker:<version>-windowsservercoreWindows 不支持嵌套容器,此变体仅包含客户端(需连接现有 Docker 引擎,例如通过 -v //./pipe/docker_engine://./pipe/docker_engine 挂载管道)。
查看 软件许可信息。
与所有 Docker 镜像一样,本镜像可能包含其他软件(如 Bash 等基础组件及依赖),可能适用不同许可协议。
自动检测的附加许可信息可参见 repo-info 仓库的 docker/ 目录。
使用前,请确保遵守所有包含软件的许可协议。
免费版仅支持 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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429