Docker/ Podman / Podman-Compose国内docker镜像源(2025最新版)

前言:当Docker下载变成"佛系养生",是时候请出中国镜像天团了! 🚀🐱💨

场景还原:

凌晨三点,你瞪着布满血丝的双眼,手指颤抖地敲下docker pull nginx

进度条仿佛在跳禅舞------2%... 5%... 十分钟后------5.1%...

你开始思考人生:"是我网不好?还是Docker Hub在太平洋游泳?"

突然!终端弹出一行死亡提示:Error: i/o timeout
啪! 最后的发际线...它离家出走了!👨🦲💔

猫哥拍案而起:

停!这根本不是网速的锅!是Docker官方源在跨洋蹦极!🌏➡️🇺🇸

今天猫哥就掏出私藏多年的国内镜像源神图 ,给Docker/Podman装上"喷气式引擎"!

从此拉镜像:

✅ 速度从驴车变高铁 🚄

✅ 失败率从99%到零蛋 🥚→💯

✅ 发际线?它甚至能逆生长!(划掉)

系好安全带!涡轮加速------发车! 🐌💨🚀

(下文正片开始,高能预警)


"看完还是慢?带着截图找猫哥------
我开着云服务器等你来撸真猫!🐈⬛✨"

一、Docker:给蜗牛装上火箭推进器 🐌🚀

步骤1:修改/etc/docker/daemon.json(没有就新建!)

用你趁手的编辑器(vimnano甚至echo大法都行),把下面这串"神秘代码"塞进去:

bash 复制代码
sudo vim /etc/docker/daemon.json  # 猫哥推荐用vim,显得专业!(按 i 进入编辑模式)

粘贴以下内容,猫哥亲测好用:

json 复制代码
{
  "registry-mirrors": [
    "https://docker.1ms.run",        // 毫秒级!名字就赢了!
    "https://docker.xuanyuan.me",    // 轩辕大佬的,稳!
    "https://hub.rat.dev",           // 鼠鼠的仓库?速度贼快!
    "https://docker.1panel.live"     // 1Panel官方出品,靠谱!
  ]
}

猫哥碎碎念: 别手抖多打逗号!JSON 这货最矫情,格式错了 Docker 直接摆烂给你看!😾

步骤2:重启Docker,玄学仪式不能少!

bash 复制代码
sudo systemctl daemon-reload    # 告诉系统:"爷的配置改了!"
sudo systemctl restart docker   # 重启大法好,镜像拉得早!

二、Podman:Windows 老铁看这里!🐧💻 (Linux用户可跳过机器步骤)

Podman 在 Windows 下靠虚拟机(podman machine)跑,配置稍微风骚一点:

步骤1:冲进Podman虚拟机改配置!

bash 复制代码
podman machine ssh  # 钻进虚拟机!密码默认是`core`或者`user`,试试看!

进去后找到文件:/etc/containers/registries.conf.d/999-podman-machine.conf

(名字可能略有不同,认准999-podman前缀!用ls瞅一眼)

bash 复制代码
sudo vi /etc/containers/registries.conf.d/999-podman-machine.conf  # 继续vim秀操作!

把下面这段"镜像加速符咒"贴进去:

conf 复制代码
unqualified-search-registries = ["docker.io"]  # 默认还是搜docker.io

# 重点!👇 把镜像源地址"附魔"到docker.io前缀上!
[[registry]]
prefix = "docker.io"
location = "docker.1ms.run"       # 毫秒加速,YYDS!

[[registry]]
prefix = "docker.io"
location = "hub.rat.dev"          # 鼠鼠快车,稳!

[[registry]]
prefix = "docker.io"
location = "docker.xuanyuan.me"   # 轩辕快递,使命必达!

[[registry]]
prefix = "docker.io"
location = "docker.1panel.live"   # 1Panel专线,官方认证!

步骤2:重启Podman虚拟机!(关门放狗,啊不,重启!)

bash 复制代码
exit  # 先退出虚拟机
podman machine stop   # 关机! 
podman machine start  # 开机!注入灵魂!

步骤3:验货!拉个hello-world看看速度!

bash 复制代码
podman pull docker.1ms.run/library/hello-world

看到类似下面这种疯狂输出blob的提示?恭喜!🎉 你的镜像源已成功注入"东方神秘力量"!

Copying blob sha256:e6590344b1a5dc518829d6ea1524fc12f8bcd14ee9a02aa6ad8360cce3a9a9e9

Writing manifest to image destination... Done!


你是不是也遇到过这种绝望时刻:

bash 复制代码
podman search hello-world
> Error: ... pinging index.docker.io: i/o timeout (超时了!)
> OR ... 404 Not Found (镜像源跟你玩捉迷藏呢!)

猫哥诊断:

别慌!这不是 镜像源挂了,也不是你配置错了!而是很多镜像源不提供搜索功能(index服务),它们只负责做"搬运工"(拉镜像)。Docker Hub 官方的搜索功能被墙or抽风了!

猫哥の祖传偏方:

  1. 放弃治疗search命令! 直接去镜像源的网站手动"淘货"!

  2. 找到想要的镜像后,用pull命令 + 完整镜像名 开拉!比如:

    bash 复制代码
    podman pull docker.1ms.run/library/nginx  # 直接从加速源拉nginx!

猫哥珍藏的镜像源"寻宝地图": 🗺️


如何直接使用

不修改配置的情况下,如何直接使用?image换成如下这种:

bash 复制代码
image: docker.1ms.run/mongo:latest

下面给出一个docker-compose.yml的配置文件使用示例:

(一键安装部署mongodb数据库):

docker-compose.yml文件:

bash 复制代码
version: '3.8'

services:
  mongodb:
    image: docker.1ms.run/mongo:latest
    container_name: mongodb
    environment:     
      - MONGO_INITDB_ROOT_USERNAME=admin
      - MONGO_INITDB_ROOT_PASSWORD=admin123
    volumes:
      - mongodb_data:/data/db
      - mongodb_logs:/var/log/mongodb
      - ./mongod.conf:/etc/mongod.conf
      - ./init-mongo.js:/docker-entrypoint-initdb.d/init-mongo.js
    healthcheck:
      test: ["CMD", "mongo", "--eval", "db.adminCommand('ping')"]
      interval: 10s
      timeout: 5s
      retries: 5
    ports:
      - "27017:27017"
    networks:
      - dco-net

volumes:
  mongodb_data:
  mongodb_logs:

networks:
  dco-net:

mongod.conf文件:

bash 复制代码
systemLog:
  destination: file
  path: "/var/log/mongodb/mongod.log"
  logAppend: true
storage:
  dbPath: "/data/db"
net:
  bindIp: "0.0.0.0"
  port: 27017
security:
  authorization: "enabled"

init-mongo.js文件:

js 复制代码
db = db.getSiblingDB('admin');
print("Starting database initialization...");
// 创建管理员用户
db.createUser(
  {
    user: "...",
    pwd: "...", // 请使用更安全的密码方式,例如环境变量或密钥管理服务
    roles: [ { role: "root", db: "admin" } ]
  }
);

db = db.getSiblingDB('atomdco');
print("Switched to database: " + db.getName());
db.createCollection('mycollection'); // 创建集合
db.mycollection.insertMany([{ name: "Alice" }, { name: "Bob" }]);
db.createUser({
  user: "test1",
  pwd: "...",
  roles: [{ role: "readWrite", db: "atomdco" }]
});

print("database initialization success");

猫哥总结: 😼💡

  1. Docker:daemon.json → 重启 → 起飞!
  2. Podman (Windows): SSH进虚拟机 → 改999-podman*.conf → 重启机器 → 起飞!
  3. search报错? 别纠结!直接去镜像源网站找 → 用完整镜像名pull!稳如老狗!

换完镜像源,再拉镜像,那感觉------就像从绿皮火车换成了复兴号!从此告别Waiting...的便秘感,享受Downloaded的快感!💨 赶紧去试试,不好使你来找猫哥...... 猫哥请你云撸猫!😹

(溜了溜了,继续拯救发际线去了... 👨🦲)

相关推荐
等什么君!2 小时前
docker -数据卷技术
运维·docker·容器
上天_去_做颗惺星 EVE_BLUE3 小时前
Docker高效使用指南:从基础到实战模板
开发语言·ubuntu·docker·容器·mac·虚拟环境
好好沉淀4 小时前
Docker开发笔记(详解)
运维·docker·容器
禅口魔心5 小时前
Win10 + WSL2 + Docker:K510(DongshanPI-Vision)开发环境从踩坑到跑通全记录(交叉编译 + 上板运行)
docker·嵌入式开发·wsl2·k510
Ankie Wan5 小时前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc
Free Tester6 小时前
基于已有容器生成Dockerfile
docker
lcx_defender7 小时前
【Docker】Docker部署运行nacos
运维·docker·容器
啦啦啦小石头7 小时前
docker添加用户权限不使用sudo
运维·docker·容器
cuber膜拜8 小时前
Weaviate 简介与基本使用
数据库·python·docker·向量数据库·weaviate
xuefuhe8 小时前
Docker常用命令
docker