You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在MacBook上通过Docker安装SQL Server时遇到镜像拉取权限错误的技术问询

解决Docker拉取SQL Server镜像权限/仓库不存在的问题

我之前也踩过这个坑!你遇到的错误核心原因是microsoft/mssql-server-linux这个镜像仓库已经被微软官方废弃移除了,现在官方统一使用新的镜像路径,再加上Mac的芯片架构适配问题,下面给你一步步解决:

1. 使用官方最新的镜像路径拉取

现在官方的SQL Server Linux镜像托管在微软容器注册表(MCR)上,正确的拉取命令是:

docker pull mcr.microsoft.com/mssql/server:latest

如果需要指定具体版本(比如2022稳定版),可以用:

docker pull mcr.microsoft.com/mssql/server:2022-latest

2. 适配Mac的芯片架构

如果你是M系列(ARM架构)的Mac,需要注意架构适配:

  • 若要兼容x86版本(适合所有SQL Server版本),拉取时加上平台参数:
    docker pull --platform linux/amd64 mcr.microsoft.com/mssql/server:2022-latest
    
  • 若使用SQL Server 2022及以上版本,官方已经推出ARM原生镜像,直接拉取即可:
    docker pull mcr.microsoft.com/mssql/server:2022-latest
    

3. 运行容器的关键注意事项

拉取成功后,运行容器必须设置合规的SA密码和接受许可,示例命令:

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=YourStrong!Passw0rd" \
   -p 1433:1433 --name sqlserver_container \
   -d mcr.microsoft.com/mssql/server:2022-latest

⚠️ 注意:SA密码必须符合复杂度要求(至少8位,包含大小写、数字和特殊字符),否则容器会启动失败。

关于错误信息的说明

守护进程返回错误:拉取microsoft/mssql-server-linux镜像权限被拒绝,该仓库不存在或可能需要执行'docker login'操作:拒绝:请求访问该资源被拒绝。

这个提示里的“权限被拒绝”其实是误导,真实原因是旧的Docker Hub仓库已经被微软删除,不管是否登录都拉取不到,换成新的MCR路径就可以正常拉取,而且这个仓库是公开的,无需登录Docker Hub。

内容的提问来源于stack exchange,提问作者user15945543

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 04:52:45