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 容器化部署宝塔 Linux 面板
linux·docker·容器·宝塔云服务器
坚定信念,勇往无前2 小时前
docker安装mongodb
mongodb·docker·容器
Destiny_where2 小时前
k8s常用指令集合
linux·docker·kubernetes
叮咚侠3 小时前
将已创建的Elasticsearch 8.12.0的docker容器中的数据挂载到宿主机操作步骤
运维·elasticsearch·docker·容器·kibana
wang6021252183 小时前
OCR服务-本地打包docker+docker下载ssh调试
docker·ssh·ocr
wuxingge3 小时前
docker设置代理,通过代理服务器拉取镜像
docker·容器
SZ1701102313 小时前
K8s 部署所需的配置文件
云原生·容器·kubernetes
小池先生3 小时前
docker 安装gitlab
docker·容器·gitlab
Wang's Blog3 小时前
RabbitMQ: 基于Docker技术实施集群部署实战指南
分布式·docker·rabbitmq
A-刘晨阳3 小时前
【探索实战】基于Kubernetes部署Kurator
运维·云原生·容器·kubernetes·kurator