目录
-
- [1. 下载](#1. 下载)
- [2. 安装](#2. 安装)
- [3. 错误处理](#3. 错误处理)
-
- [3.1 关于docker version](#3.1 关于docker version)
- [3.2 关于命令`docker run hello-world`](#3.2 关于命令
docker run hello-world) - [3.2 关于Docker Desktop](#3.2 关于Docker Desktop)
- [3.3 其他](#3.3 其他)
- [4. 配置](#4. 配置)
1. 下载

下载AMD版
2. 安装
由于默认安装在C盘,而我想迁移到D盘,所以就不直接打开安装包,而是用命令行
-
打开终端
以管理员身份打开命令提示符

-
进入安装包所在文件夹
比如我的
Docker Desktop Installer.exe所在地址为D:\Downloads,那么先切换到D盘再键入命令cd+安装包所在地址
bashcd D:\Downloads
就进入了安装包所在文件夹
-
设置安装目录
输入命令
bashstart /w "" "Docker Desktop Installer.exe" install -accept-license --installation-dir="D:\Downloads\Docker" --wsl-default-data-root="D:\Downloads\Docker\data" --windows-containers-default-data-root="D:\\Downloads\\Docker"命令解释(每段之间有一个空格):
start /w "" "Docker Desktop Installer.exe":start /w表示等待安装完成后再返回命令行,并指定了要安装的程序install:执行安装操作-accept-license:自动接受许可协议--installation-dir:指定主安装目录--wsl-default-data-root:设置WSL2数据存储位置--windows-containers-default-data-root:设置Windows容器数据存储位置
安装过程中有两句提示:
bashFailed to track the installer started event, caused by: 发送请求时出错。 Failed to track the installer finished event, caused by: 发送请求时出错。应该没什么大碍
-
检查安装
输入
bashdocker run hello-world显示

即为正常
3. 错误处理
3.1 关于docker version
正常应很快就显示Client和Server部分
-
错误1
显示
bash'docker' 不是内部或外部命令,也不是可运行的程序或批处理文件。解决
法一:重启终端或重启电脑
法二:检查系统环境变量是否有D
:\Downloads\Docker\resources\bin,没有就加上这个环境变量 -
错误2
显示
bash'error during connect: Get "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.51/version": open //./pipe/dockerDesktopLinuxEngine: The system cannot find the file specified.'解决
这是因为没启动Docker Desktop,启动一下就好了,最好要进入主界面
-
错误3
命令运行很慢,没反应,按Ctrl+C终止只有Client部分
解决
可能是网络问题,开关梯子试试。或者是因为Docker Desktop显示Docker Engine stopped
-
错误4
显示
basherror during connect: Get "http://%2F%2F.%2Fpipe%2FdockerDesktopLinuxEngine/v1.51/version": EOF解决
发现Docker Desktop显示Docker Engine stopped,见"3.关于Docker Desktop"的"错误2"
3.2 关于命令docker run hello-world
-
错误1
显示
bash'docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": proxyconnect tcp: dial tcp 127.0.0.1:7890: connect: connection refused' -
错误2
显示
bash'Unable to find image 'hello-world:latest' locally'解决
启动Docker Desktop,多尝试几次,开关梯子
-
错误3
运行很慢,没反应
解决
发现Docker Desktop显示Docker Engine stopped,见"3.关于Docker Desktop"的"错误2"
3.2 关于Docker Desktop
-
错误1
启动时显示

解决
不知道怎么解决的,尝试过以下方法:点击Recover WSL distro,没效果;重启终端,重启电脑;开关梯子;以管理员身份运行。
-
错误2

在这之前其实成功过,后面又不行了,出现这个问题解决
进入
D:\Downloads\Docker\data\disk,右键docker_data.vhdx,属性-安全-编辑
对每一个组或用户名赋予所有权限
3.3 其他
需要启用一些功能
点击控制面板-程序-程序和功能-启用或关闭Windows功能
勾选以下功能



(勾选Hyper-V会让梯子用不了,还未解决这个问题)
4. 配置
-
配置镜像加速器
打开Docker Desktop,Settings - Dockers Engine,将内容替换为
json{ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, "experimental": false, "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://dockerhub.azk8s.cn", "https://mirror.ccs.tencentyun.com", "https://registry.cn-hangzhou.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn", "https://docker.m.daocloud.io", "https://noohub.ru", "https://huecker.io", "https://dockerhub.timeweb.cloud" ] }
源失效了需要去容器镜像服务这个链接替换
-
配置代理(可选)
搜索"代理服务器设置"

点击下面的编辑

记住代理IP地址和端口,回到Docker Desktop,点击
Settings--Resources-Proxies
将Web Server(HTTP)和Secure Web Server(HTTPS)均填入
http://代理IP地址:端口将代理IP地址和端口替换为刚才在网络设置看到的内容,保存