mac docker换源
时间: 2025-05-19 12:03:25 浏览: 30
### 配置 Docker 国内镜像源
在 Mac 上为 Docker 更换国内镜像源可以通过修改 `daemon.json` 文件来完成。以下是具体的说明:
#### 方法一:通过 Docker Desktop 设置界面
对于 MacBook Pro M2 用户来说,可以直接利用 Docker Desktop 的图形化界面进行设置[^3]。
1. 打开 **Docker Desktop** 应用程序。
2. 进入右上角菜单栏中的 **Settings**(设置)选项。
3. 转至 **Docker Engine** 页面,在 JSON 编辑框中添加或更新以下内容:
```json
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
```
4. 修改完成后点击页面底部的 **Apply & Restart** 按钮以保存更改并重启服务。
这种方法简单直观,并且适用于大多数 macOS 用户环境下的长期有效配置。
#### 方法二:手动编辑 Daemon 配置文件
另一种方式是直接编辑 Docker 的守护进程配置文件 `daemon.json` 来指定镜像加速地址[^2][^5]。
1. 使用终端命令打开位于 `/Users/{你的用户名}/.docker/daemon.json` 的文件。如果没有该文件,则需创建它。
可执行以下指令创建或者编辑这个文件:
```bash
touch ~/.docker/daemon.json && open -e ~/.docker/daemon.json
```
2. 将下面的内容粘贴进去,替换原有的 registry-mirrors 数组部分(如果有)。这里列举了一些常用的国内镜像站点作为例子:
```json
{
"registry-mirrors": [
"https://docker.anyhub.us.kg",
"https://docker.awsl9527.cn",
"https://docker.m.daocloud.io",
"https://dockerproxy.com"
]
}
```
3. 保存退出后重新启动 Docker 服务使新设定生效:
```bash
docker system prune -a # 清理旧数据缓存(可选)
sudo pkill dockerd # 停止当前运行的服务实例
open /Applications/Docker.app # 启动新的会话
```
以上两步操作均能显著提升基于中国地区的网络条件下拉取官方公共仓库镜像的速度性能表现^。
### 注意事项
- 如果已经存在其他自定义参数,请勿覆盖整个文档结构而仅追加上述字段项。
- 不同服务商可能提供各自专属优化后的镜像托管链接列表,请依据实际需求选取适合自己的资源位置。
```python
import subprocess
def restart_docker():
try:
result = subprocess.run(['sudo', 'pkill', 'dockerd'], check=True)
print("Docker service stopped successfully.")
result = subprocess.run(['/usr/bin/open', '-na', '/Applications/Docker.app'], check=True)
print("Restarted Docker application.")
except Exception as e:
print(f"An error occurred while restarting Docker: {str(e)}")
if __name__ == "__main__":
restart_docker()
```
阅读全文
相关推荐
















