Docker常见错误

705 阅读2分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

问题: 配置文件json格式错误

出现格式错误设置框下会显示 Unexpected token <错误符号> in JSON at position <出错行数>

直接复制阿里云底部示例地址, 带有花括号导致json格式错误

添加镜像地址需要把镜像地址加入原配置文件最外侧花括号内

下面是加入样例,不是完整文件内容

{
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://f12345jv.mirror.aliyuncs.com"
  ]
}

37f98882b4f5f8d02dc81ea6ea6155f.png

5e0190ba0128c0f65215ec5833f01ec.png

添加项目忘记加入逗号

在JSON文件中加入项目需要使用逗号间隔

下面是加入样例,不是完整文件内容

{
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://f12345jv.mirror.aliyuncs.com"
  ]
}

92a2fd36b3cb2beec99f57cef65e79e.png

wsl2问题

问题表现为打开docker就弹窗提示WSL 2 installation is incomplete

20c21f9b265f117f7f499989d597784.png

wsl 2 必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11。 系统不支持 wsl 2 只能以Hyper-v后台安装docker

如果系统支持 安装过程中会显示 Use WSL 2 instead of Hyper-V 选项(建议选中) 选中会使用 wsl 2 安装, 这样docker运行会更高效(最直观的是启动速度快很多) 不选中将用Hyper-V安装 关于 wsl 2 后端的详细信息docs.docker.com/desktop/win…

验证版本Docker Desktop 4.7.0 (77141) wsl2 backend

遇到wsl2相关的问题可以参考微软官方的文档 docs.microsoft.com/zh-cn/windo…

通常检查并修正下面三个位置可以解决 wsl 2 错误

问题 1 : 没有开启适用于Linux的 Windows子系统

在控制面板>程序与功能>启用或关闭windows功能中勾选适用于Linux的 Windows子系统

Screenshot - 2022-04-13 15.38.39.png

并重新启动电脑

问题 2 : 缺乏Linux内核更新包

按照下面微软文档中步骤四下载并安装更新

docs.microsoft.com/zh-cn/windo…

image.png

并重新启动电脑

问题 3 : wsl版本不是wsl2

在命令行输入

wsl --set-default-version 2

更换版本,并重启电脑

4:

在完成上面三个步骤后重新打开docker

可能会出现下面两种错误提示

ba2689d755e3a8b53a1ee9d8d3966af.png

出现这个错误提示可以选中最左边的按钮重置Docker到默认设置

238527028d1b812cbcdd04f5d6ec5fa.png

上面这种错误提示通过重新按照Dockers解决过

如果多次尝试, 依旧无法正常按照

可以在安装时不勾选 Use WSL 2 instead of Hyper-V 使用 Hyper-V 底层安装Docker (选项在系统环境同时支持两种底层时才会展示, 只支持一种 安装时页面只询问是否在桌面放置快捷方式)