安装和配置Docker教程(装在其他盘)

目录

    • [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盘,所以就不直接打开安装包,而是用命令行

  1. 打开终端

    以管理员身份打开命令提示符

  2. 进入安装包所在文件夹

    比如我的Docker Desktop Installer.exe所在地址为D:\Downloads,那么先切换到D盘

    再键入命令cd+安装包所在地址

    bash 复制代码
    cd D:\Downloads

    就进入了安装包所在文件夹

  3. 设置安装目录

    输入命令

    bash 复制代码
    start /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容器数据存储位置

    安装过程中有两句提示:

    bash 复制代码
    Failed to track the installer started event, caused by: 发送请求时出错。
    Failed to track the installer finished event, caused by: 发送请求时出错。

    应该没什么大碍

  4. 检查安装

    输入

    bash 复制代码
    docker run hello-world

    显示

    即为正常

3. 错误处理

3.1 关于docker version

正常应很快就显示Client和Server部分

  1. 错误1

    显示

    bash 复制代码
    'docker' 不是内部或外部命令,也不是可运行的程序或批处理文件。

    解决

    法一:重启终端或重启电脑

    法二:检查系统环境变量是否有D:\Downloads\Docker\resources\bin,没有就加上这个环境变量

  2. 错误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. 错误3

    命令运行很慢,没反应,按Ctrl+C终止只有Client部分

    解决

    可能是网络问题,开关梯子试试。或者是因为Docker Desktop显示Docker Engine stopped

  4. 错误4

    显示

    bash 复制代码
    error 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. 错误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. 错误2

    显示

    bash 复制代码
    'Unable to find image 'hello-world:latest' locally'

    解决

    启动Docker Desktop,多尝试几次,开关梯子

  3. 错误3

    运行很慢,没反应

    解决

    发现Docker Desktop显示Docker Engine stopped,见"3.关于Docker Desktop"的"错误2"

3.2 关于Docker Desktop

  1. 错误1

    启动时显示

    解决

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

  2. 错误2


    在这之前其实成功过,后面又不行了,出现这个问题

    解决

    进入D:\Downloads\Docker\data\disk,右键docker_data.vhdx,属性-安全-编辑


    对每一个组或用户名赋予所有权限

3.3 其他

需要启用一些功能

点击控制面板-程序-程序和功能-启用或关闭Windows功能

勾选以下功能

(勾选Hyper-V会让梯子用不了,还未解决这个问题)

4. 配置

  1. 配置镜像加速器

    打开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"
        ]
    }

源失效了需要去容器镜像服务这个链接替换

  1. 配置代理(可选)

    搜索"代理服务器设置"

    点击下面的编辑

    记住代理IP地址和端口,回到Docker Desktop,点击Settings -- Resources -Proxies

    将Web Server(HTTP)和Secure Web Server(HTTPS)均填入
    http://代理IP地址:端口

    将代理IP地址和端口替换为刚才在网络设置看到的内容,保存


相关推荐
2401_894915535 分钟前
Geo 优化源码部署实战:环境配置、参数调优完整指南
运维·服务器·数据库·tcp/ip·安全
智码看视界6 分钟前
Day57-K8s核心概念速通:Pod、Deployment、Service与Ingress
云原生·容器·kubernetes·k8s·ingress·java后端·deployment
爱和冰阔落1 小时前
【Linux】Ctrl+C 到底做了什么?从键盘、kill 到 alarm,一次讲清信号的产生
linux·运维·c++·安卓
.柒宇.1 小时前
使用 cri-docker 搭建 Kubernetes 集群完整教程(v1.36.3)
docker·容器·kubernetes·k8s集群安装
JavaPub-rodert2 小时前
Linux 下部署 MongoDB:从安装、配置到生产环境使用
linux·运维·mongodb
starzy19902 小时前
K8s 集群容器管理工具选型与实战指南
云原生·容器
养海绵宝宝的小蜗2 小时前
K8S总结
云原生·容器·kubernetes
画中有画2 小时前
自动化脚本中如何启动/打开app的某个页面
运维·自动化
Yiiz.2 小时前
Kubernetes部署
云原生·容器·kubernetes
qizhideyu3 小时前
kubernetes
云原生·容器·kubernetes