找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1439|回复: 13

[小米7000] 小米 docker pull 拉取 镜像失败的解决方案 包括 nginx:alpine-slim alist aria 等

[复制链接]
发表于 2024-6-10 13:44 | 显示全部楼层 |阅读模式
本帖最后由 长河落 于 2024-6-22 14:43 编辑

最近 Docker Hub 无法访问,国内各大镜像源也分分下架。导致许多镜像无法正常拉取,话不多说,开工。

说明:
1. 已经解锁ssh
2. 需要有一丢丢linux基础,当然,不明白的地方欢迎提问

首先通过ssh登录你的路由器
  1. ssh root@192.168.31.1
复制代码
登录成功后查看 docker 的守护进程 dockerd 启动的时候读取的配置文件是哪个
  1. ps | grep dockerd

  2. # 返回信息如下

  3. 7853 root      1444 S    grep dockerd
  4. 12298 root     1529m S    /mnt/usb-********/mi_docker/docker-binaries/dockerd --config-file=/tmp/dockerd/daemon.json
复制代码
可以看到读取的是 /tmp/dockerd/daemon.json  那我们查看下这个文件
  1. cat /tmp/dockerd/daemon.json

  2. # 返回信息如下

  3. {
  4.     "exec-root": "\/mnt\/usb-********\/mi_docker\/run\/docker\/",
  5.     "data-root": "\/mnt\/usb-********\/mi_docker\/lib\/docker\/",
  6.     "log-level": "warn",
  7.     "iptables": false,
  8.     "registry-mirrors": [
  9.         "https:\/\/mirror.baidubce.com",
  10.         "https:\/\/hub-mirror.c.163.com",
  11.         "https:\/\/docker.mirrors.ustc.edu.cn"
  12.     ]
  13. }
复制代码
其中的 usb-******* 大家应该都有印象,这是你自己挂载的磁盘编号,
到这不难发现,其中就是系统默认配置的这几个源中没有我们要拉取的镜像,导致我们 docker pull 时候拉取失败,那么我们只需要替换下源就行
编辑 /tmp/dockerd/daemon.json 文件,替换可用的源,另外 usb-******* 替换成你自己实际的硬盘编号
  1. {
  2.     "exec-root": "\/mnt\/usb-********\/mi_docker\/run\/docker\/",
  3.     "data-root": "\/mnt\/usb-********\/mi_docker\/lib\/docker\/",
  4.     "log-level": "warn",
  5.     "iptables": false,
  6.     "registry-mirrors": [
  7.         "https://docker.m.daocloud.io",
  8.         "https://dockerproxy.com",
  9.         "https://docker.mirrors.ustc.edu.cn",
  10.         "https://docker.nju.edu.cn"
  11.     ]
  12. }
复制代码
最后刷新 docker 配置
  1. kill -SIGHUP $(pidof dockerd)
复制代码

现在我们登录 Docker 管理后台(BE7000 是 SimpleDocker - 容器管理 - 容器(simple-docker) - 终端命令 ),查看下刚刚替换的源是否生效
  1. docker info

  2. # 返回如下(实际内容一大堆,我省略了一些不重要的信息)

  3. Registry Mirrors:
  4.   https://docker.m.daocloud.io/
  5.   https://docker.mirrors.ustc.edu.cn/
  6.   https://dockerproxy.com/
  7.   https://docker.nju.edu.cn/
复制代码


试试拉取镜像,成功~
  1. docker pull nginx:alpine-slim

  2. # 返回如下

  3. alpine-slim: Pulling from library/nginx
  4. bca4290a9639: Already exists
  5. 684d39571081: Pull complete
  6. 2a3efce1287c: Pull complete
  7. 75567327965d: Pull complete
  8. 2bde159f7fb2: Pull complete
  9. fe4f9f53611e: Pull complete
  10. ebaab9b4782b: Pull complete Digest: sha256:3e9fb1e3981db06e79f214d685748b74df38f9b50ca439438a095c1316231707
  11. Status: Downloaded newer image for nginx:alpine-slim
  12. docker.io/library/nginx:alpine-slim
复制代码

欢迎友好交流




评分

参与人数 1恩山币 +1 收起 理由
Pas85810 + 1 多谢大佬,成功解决,已顺利拉取镜像 ...

查看全部评分

发表于 2024-6-12 02:15 | 显示全部楼层
执行 ps | greep dockerd 会报错   然后依据大佬的思路  直接用 WinSCP 修改 /tmp/dockerd/daemon.json 文件并保存  最后刷新 kill -SIGHUP $(pidof dockerd)  最后顺利成功拉取镜像  再次感谢大佬

点评

ps | greep dockerd 只是为了查看当前Docker读取的是哪个配置文件,如果提前知道了具体是哪个文件像你这样直接修改也是没问题的。  详情 回复 发表于 2024-6-12 13:34
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-12 13:34 | 显示全部楼层
Pas85810 发表于 2024-6-12 02:15
执行 ps | greep dockerd 会报错   然后依据大佬的思路  直接用 WinSCP 修改 /tmp/dockerd/daemon.json 文 ...

ps | greep dockerd  只是为了查看当前Docker读取的是哪个配置文件,如果提前知道了具体是哪个文件像你这样直接修改也是没问题的。
回复 支持 反对

使用道具 举报

发表于 2024-6-14 16:03 | 显示全部楼层
你好啊,请问我没有解锁ssh,如何进入ssh呢

点评

解锁SSH 可以参考 https://www.right.com.cn/forum/thread-8283638-1-1.html ,大佬写的很全  详情 回复 发表于 2024-6-15 23:15
回复 支持 反对

使用道具 举报

发表于 2024-6-14 21:08 | 显示全部楼层
感谢大佬,不过是grep,不是greep

点评

谢谢指正,粗心大意了  详情 回复 发表于 2024-6-15 23:14
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-15 23:14 | 显示全部楼层
yuyu3300 发表于 2024-6-14 21:08
感谢大佬,不过是grep,不是greep

谢谢指正,粗心大意了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-15 23:15 | 显示全部楼层
krisker 发表于 2024-6-14 16:03
你好啊,请问我没有解锁ssh,如何进入ssh呢

解锁SSH 可以参考 https://www.right.com.cn/forum/thread-8283638-1-1.html ,大佬写的很全
回复 支持 反对

使用道具 举报

发表于 2024-6-16 14:51 | 显示全部楼层
我输入ps | grep dockerd ,返回
2914 root      1444 S    grep dockerd
8156 root     1529m S    {dockerd} /mnt/usb-********
请问大佬这是什么意思呢 应该怎么修改呢

点评

你可以先执行 cat /tmp/dockerd/daemon.json 看看这个文件的内容,如果有内容就直接编辑这个文件就可以 至于 ps | grep dockerd 是为了去查看docker读取的配置文件是哪个 这步跳过也不影响  详情 回复 发表于 2024-6-17 21:40
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-17 21:40 | 显示全部楼层
TJWDDY 发表于 2024-6-16 14:51
我输入ps | grep dockerd ,返回
2914 root      1444 S    grep dockerd
8156 root     1529m S    {docke ...

你可以先执行  cat  /tmp/dockerd/daemon.json 看看这个文件的内容,如果有内容就直接编辑这个文件就可以

至于 ps | grep dockerd 是为了去查看docker读取的配置文件是哪个 这步跳过也不影响

点评

拉取成功了 感谢  详情 回复 发表于 2024-6-18 01:58
回复 支持 反对

使用道具 举报

发表于 2024-6-18 01:58 | 显示全部楼层
长河落 发表于 2024-6-17 21:40
你可以先执行  cat  /tmp/dockerd/daemon.json 看看这个文件的内容,如果有内容就直接编辑这个文件就可以 ...

拉取成功了 感谢
回复 支持 反对

使用道具 举报

发表于 2024-6-21 11:13 | 显示全部楼层
现在镜像源是不是又被封了

点评

刚刚测试了一下,方法依旧有效  详情 回复 发表于 2024-6-22 14:56
回复 支持 反对

使用道具 举报

发表于 2024-6-21 21:00 | 显示全部楼层
大佬,请问知道6500怎么知道安装小雅alist吗?

点评

我手上没有 6500 PRO , 不好意思嗷  详情 回复 发表于 2024-6-22 14:42
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-22 14:42 | 显示全部楼层
Spyyt 发表于 2024-6-21 21:00
大佬,请问知道6500怎么知道安装小雅alist吗?

我手上没有 6500 PRO , 不好意思嗷
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-6-22 14:56 | 显示全部楼层
羽喬9 发表于 2024-6-21 11:13
现在镜像源是不是又被封了

刚刚测试了一下,方法依旧有效
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-7-4 10:58

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表