M1 版 Docker Desktop 学习笔记:设置代理、设置国内源、查找下载的 image 位置等

3,532 阅读3分钟

docker拉镜像的几个阶段说明

一般我们使用 docker 拉取镜像时候会经历几个阶段,等待、拉取开始、下载成功、检验、拉取成功:

Waiting
Pulling fs layer
Download complete
Verifying Checksum
Pull complete

Download只是说这个镜像下载下来了, Pull complete 则是经过解压缩、校验之后导入到系统里去了!

配置代理

有的时候就算配置了国内源,依旧没啥用,就是下载不下来, 就是会报错,就很烦:

error pulling image configuration: download failed after attempts=6: dialing production.cloudflare.docker.com:443 no HTTPS proxy: connecting to 162.125.83.1:443: dial tcp 162.125.83.1:443: i/o timeout

但是如果你有某些科学方法,那么可以配置一下走代理, 在如图所示的地方,配置是你自己的代理即可: 右上角的设置 --> Resources --> Proxies

image.png

然后重启 docker ,就能愉快的下载了。

配置国内源

今天准备下载一个 docker 镜像,结果发现一直下载不成功,我记得我以前设置过国内源啊,为什么还是下载不成功呢?

我也是按照网上的教程设置的啊。

结果直到我看到这个文章。才发现,我设置的两个源都不能用了。

docker 设置国内镜像源 - 炎黄子孙,龙的传人 - 博客园 (cnblogs.com)

那么重新设置一下吧。

改完记得重启:systemctl restart docker

image.png

按照图中所示,点击设置按钮、点击 Docker Engine、编辑 registry-mirrors 字段、点击 Apply & restart 即可。

改完记得重启:systemctl restart docker

✅ 下面是一些目前还能用的源:

  • https://docker.nju.edu.cn 南京大学镜像源
  • https://docker.mirrors.sjtug.sjtu.edu.cn 上交大镜像源
  • https://<your_code>.mirror.aliyuncs.com 阿里云镜像源(需要登陆,后面介绍)
  • http://hub-mirror.c.163.com 网易云镜像源
  • https://mirror.baidubce.com 百度云镜像源

下面是已经不能用的源:

  • https://registry.docker-cn.com docker 中国镜像源
  • https://docker.mirrors.ustc.edu.cn 中科大镜像源(仅供内部使用)

阿里云镜像源设置方法

访问 :cr.console.aliyun.com 并登陆: 然后点击 镜像工具 - 镜像加速器 - 右边就是你的专属加速地址了

image.png

查找下载 image 的位置

如果搜索 “mac 中 docker 的存储路径在哪里” 看到这里的朋友,希望对你有帮助。

因为 M1 macOS 内核不兼容 BSD 与 Linux,所以 MAC 版的 docker 不是直接在 mac 上运行的,而是在 HyperKit 环境中运行的,所以说如果你想找下载下来的镜像内容,那么请到 linux 虚拟机里去下载复制吧,不要再 MAC 里浪费时间了。😮‍💨

如果你是想删除一部分 image 来节约空间,那么可以在如下位置找到 iamge 的地址:

image.png

点击 设置 - Resources - Disk image location 就可以看到目前的 image 存放的位置了。 直接使用命令 open /Users/{你的用户名}/Library/Containers/com.docker.docker/Data/vms/0/data 可以查看到,这个文件夹里只有一个 Docker.raw 的文件。

从容器中复制文件到本地

# 其中 c8c670eb83c 是容器的 id

# 将 docker 容器中的文件夹复制到主机中的文件夹
docker cp c8c670eb83c:/opt/sonatype/nexus /Users/sanqiushu/Code_Space/Docker_Space/nexus3

# 将主机中的文件夹复制到 docker 中
docker cp /Users/sanqiushu/Code_Space/Docker_Space/nexus3 c8c670eb83c:/opt/sonatype/nexus 

下载镜像

可以指定系统 CPU 架构来下载镜像。

docker pull --platform=arm64 sonatype/nexus3:3.68.0-java8

但是需要这个仓库支持这个平台。你可以去 docker hub 去搜一下这个仓库看看支不支持:

比如这个就不支持: image.png