使用wsl2 无法启动docker服务

表现形式为,一直卡在启动服务的界面,但是一直无法启动

解决方案

安装前确保 已启用 Hyper-V 虚拟机 功能
91cb37ad5eaf6c8d886d1ad5964632e7.png
卸载掉 docker desktop,重新安装,安装时,不要选择使用 wsl 的方式,一路安装即可

修改镜像默认存储位置

windows上安装docker 会有各种问题,早期版本无法修改镜像默认存储位置,只能存储在C盘,目前最新版本(4.26.1)虽然在图形界面中有修改存储位置的配置,但是修改后并不能生效,重启docker desktop 就又恢复为默认的位置了
0bf0ba38366721663443f8a71c709c4f.png

解决方案

关闭docker desktop(kill掉docker进程),然后找到docker desktop的配置文件
C:\Users\Administrator\AppData\Roaming\Docker\settings.json(Administrator 为用户名,到时候替换为自己电脑登录用户的用户名即可),修改配置文件中的 dataFolder 为你想要的路径即可
fff5e9de6ee22d609446d618b38ff084.png
重新启动 docker desktop即可

镜像加速

点击 设置 - Docker Engine,修改 配置,添加 registry-mirrors配置

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://mirror.ccs.tencentyun.com",
    "https://docker.mirrors.ustc.edu.cn",
    "https://cr.console.aliyun.com/"
  ]
}

或者直接找到配置文件 C:\Users\Administrator\.docker\daemon.json进行修改

启动docker容器提示无法访问文件问题

当使用docker-compose.yml 中指定本地多个文件映射到容器内部时
0b157c65ecadcc64a8510fee83f087e5.png
虽然在创建容器时,会提示是否给予访问 某个文件的file sharing权限,但是只能自动授权第一个提示的文件,其他文件即使授权了,创建的容器也会提示无法访问对应的映射文件

解决方案

手动添加 File sharing 路径:
点击 设置 - Resource - File shareing ,然后添加可以共享给容器内部的文件路径,图省事儿,可以直接设置个父级目录
2023/12/27/ea75c1227114329.png

Q.E.D.


寻门而入,破门而出