windows 下 Docker 踩坑

news2024/10/10 18:16:43

我的开发机是 Windows 11。Windows 早就支持 WSL,也有 Hyper-V 的虚拟化解决方案,当然也能跑 Docker。
不过,我对 Docker 不熟悉,踩了不少坑。

Docker Desktop 无法启动

Docker Desktop 的状态条总是处于黄色。有时候还报错,“ docker desktop running engine: waiting for the VM setup to be ready: context canceled"。
解决办法:重启 Windows 之后就好了。

是否需要登录 Docker 账号?

先说结论:不需要登录 Docker 账号
看起来 Docker 这外网站确实是被墙了,我其实不太理解。其实墙了没什么用。所以,如果没有 Windows 下的全局翻墙代理,登录 Docker 账号也是挺困难的。
我曾经只给浏览器设代理,可以通过 Docker 账号的认证了,可是 Docker Desktop 还是认证不了。
后来我发现,Docker Desktop 是可以设代理的,而且可以支持 Sock5。在Resources / Proxies 下面,可以 Secure Web Server (HTTPS) 里面,配置 socks5://127.0.0.1:1080
但是,在 pull image 时,这种设置代理的方式会报错,它要求我们使用付费版的 Docker Desktop。折腾到这里,我都要哭了。
怎么办?设置代理。

设置代理的两种方式

方式一:正式设置

在 Docker 的 Settings 的 Docker Engine 标签中,里面有一个 JSON 文件。
这个文件实际上是在 %userprofile%.docker\daemon.json
原始的文件是:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false
}

添加 ”registry-mirrors",如下:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false"registry-mirrors": [
    "https://dockerproxy.cn",
    "https://docker.rainbond.cc",
    "https://docker.udayun.com",
    "https://docker.211678.top",
    "https://hub.geekery.cn",
    "https://ghcr.geekery.cn",
    "https://gcr.geekery.cn",
    "https://quay.geekery.cn"
  ]
}

注意:
“registry-mirrors" 的位置有讲究。我曾经把它放到 ”experimental" 之前,Docker Engine 就启动失败。
这时甚至你无法退出 Docker Desktop。所以,你把上面的 json 文件复原之后,还需要耐心地等一会儿 Docker Desktop 退出,再重启试试。
如果还是不行,就手动编辑 %userprofile%.docker\daemon.json 文件,然后重启试试。
如果还是不行,就可以考虑重装 Docker了。

另外,上面这个代理镜像列表在 2024.10.10 是工作的,但是过段时间是不是工作,就不知道了。

方式二:修改拉取镜像的路径

把原来的 docker pull nginx:latest 改成:docker pull hub.geekery.cn/library/nginx:latest ,系统就从代理镜像,这里是 hub.geekery.cn 里拉数据了。
同样,在 Dockerfile 里可以这样搞:

FROM hub.geekery.cn/library/nginx:latest

这里的 library 是一个特殊的命名空间,它代表的是官方镜像。如果是某个用户的镜像就把library替换为镜像的用户名。

目前这么用起来, Windows 下的 Docker 和 Linux 下的 Docker 使用起来差不多。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2202697.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【WebGis开发 - Cesium】三维可视化项目教程---图层管理基础

目录 引言一、功能设计1. 主体功能2. 细节问题 二、代码实现1. 树形控件2. 全局状态准备3. 创建图层控制方法3.1 加载、卸载方法编写3.2 统一对外暴露入口3.3 提供图层类别的可拓展性3.1 完整代码 4. 效果展示5. hooks函数使用方法 三、总结 引言 本教程主要是围绕Cesium这一开…

华为云服务器公网ip访问不通解决

问题:用弹性公网IP登录超时,ping不通,但是VNC方式可以登陆成功 解决:执行ifconfig,看到eth0网卡没有获取到 ifconfig 执行dhclient自动获取下网卡 : dhclient 再次执行ifconfig:网卡已经获…

【AI论文精读3】RAG论文综述1-P1

AI知识点总结:【AI知识点】 AI论文精读、项目、思考:【AI修炼之路】 简介 论文中英文名 Retrieval-Augmented Generation for Large Language Models: A Survey 面向大型语言模型的检索增强生成:综述 论文地址 arxiv地址:http…

知识蒸馏介绍

一、知识蒸馏介绍 1.1 概念介绍 知识蒸馏(knowledge distillation)是模型压缩的一种常用的方法,不同于模型压缩中的剪枝和量化,知识蒸馏是通过构建一个轻量化的小模型,利用性能更好的大模型的监督信息,来…

项目经理是怎么慢慢废掉的?这些无意识行为可能会毁了你!

工作久了,每个人都或多或少会有一些无力感和疲惫感。如果没有调整过来,久而久之,会感觉自己好像废掉了,做什么事情都打不起精神。 如果你是项目经理,工作中有这样一些迹象,比如总是拖延时间、丧失自己的判…

【进程间通信(三)】【system V共享内存】

目录 1. 原理2. 编码通信2.1 创建共享内存2.2 shmat && shmdt && shmctl2.3 通信 3. 共享内存的特性3.1 共享内存的属性3.2 加入管道实现同步机制 前面的文章介绍了管道通信,其中包括匿名管道、命名管道。这篇文章介绍另一种进程间通信的方式 -----…

NVP的含义?如何理解其在AEM|FLUKE线缆认证测试中的意义?不同的NVP会出现怎样的结果?

在AEM|FLUKE铜缆认证测试中,有很多朋友对NVP设置有疑问,不知道应该怎么去设置它,并很好的应用它,那我们基于此,做一个简单的分析。 什么是NVP? NVP是Nominal Velocity of Propagation的缩写?简单直接译过…

Java基础-泛型机制

文章目录 为什么引入泛型泛型的基本使用泛型类泛型接口泛型方法泛型数组正确的数组声明使用场景如何理解Java中的泛型是伪泛型?泛型中类型擦除 泛型数组:如何正确的初始化泛型数组实例? 为什么引入泛型 引入泛型的意义在于: 适用…

KEYSIGHT B1500A 半导体器件参数分析仪

新利通 B1500A 半导体器件参数分析仪 ——一体化器件表征分析仪—— 简述 Keysight B1500A 半导体参数分析仪是一款一体化器件表征分析仪,能够测量 IV、CV、脉冲/动态 IV 等参数。 主机和插入式模块能够表征大多数电子器件、材料、半导体和有源/无源元器件。 B…

关于相机的一些零碎知识点

热成像,英文为Thermal Imaging,例如型号500T,其实指的就是热成像500分辨率。 相机的CMOS,英文为Complementary Metal Oxide Semiconductor,是数码相机的核心成像部件,是一种互补金属氧化物导体器件。 DPI…

PVC刻字膜高精度模切应用

PVC刻字膜是一种由聚氯乙烯(PVC)为主要成分制成的薄膜材料,具有耐磨、耐刮、耐水、耐油以及良好的化学稳定性等特点。这种薄膜在多个行业中得到广泛应用,特别是在服装、鞋业、箱包、汽车内饰等领域,用于制作各种标识、…

NDC美国药品编码目录数据库查询方法

NDC(National Drug Code)翻译为“国家药品代码”,是美国食品药品监督管理局(FDA)制定的一种药品标识系统,用于唯一标识药品。这个编码系统主要目的是为精准识别和追踪不同药品而建设,行业人员和…

2024最新【Pycharm】史上最全PyCharm安装教程,图文教程(超详细)

1. PyCharm下载安装 完整安装包下载(包含Python和Pycharm专业版注册码):点击这里 1)访问官网 https://www.jetbrains.com/pycharm/download/#sectionwindows 下载「社区版 Community」 安装包。 2)下载完成后&#…

【斯坦福CS144】Lab7

一、实验目的 在本课程中,你已经实现了互联网基础设施的重要部分。这个检查点不是关于实现,而是关于测量实际的互联网并报告特定路径的长期统计数据。 二、实验内容 1.收集数据 选择一个远程主机,其往返时间(RTT)从…

Unity3D相关知识点总结

Unity3D使用的是笛卡尔三维坐标系,并且是以左手坐标系进行展示的。 1.全局坐标系(global) 全局坐标系描述的是游戏对象在整个世界(场景)中的相对于坐标原点(0,0,0)的位置…

处理 Vue3 中隐藏元素刷新闪烁问题

一、问题说明 页面刷新,原本隐藏的元素会一闪而过。 效果展示: 页面的导航栏通过路由跳转中携带的 meta 参数控制导航栏的 显示/隐藏,但在实践过程中发现,虽然元素隐藏了,但是刷新页面会出现闪烁的问题。 项目源码&…

MLP优化KAN

一:spline概念介绍 在数学学科数值分析中,样条(spline)是一种特殊的函数,由多项式分段定义。样条的英语单词spline来源于可变形的样条工具,那是一种在造船和工程制图时用来画出光滑形状的工具 样条有两个特…

Adversarial and Adaptive Tone Mapping Operatorfor High Dynamic Range Images

Abstract 这项工作涉及色调映射,这是一种将高动态范围 (HDR) 图像转换为低动态范围 (LDR) 图像的常用方法。 我们通过使用自适应色调映射来解决这个问题。 我们建议部署条件生成对抗网络来构建对抗性和自适应色调映射算子(adTMO)&#xff0c…

游戏盾是如何解决游戏行业攻击问题

随着游戏行业的迅猛发展,其高额的利润和激烈的市场竞争吸引了众多企业和创业者的目光。然而,这一行业也面临着前所未有的业务和安全挑战,尤其是DDoS(分布式拒绝服务)攻击,已经成为游戏行业的一大威胁。今天…

Metasploit渗透测试之MSFvenom

简介 到目前为止,你应该已经对MSFvenom不陌生了,因为在之前的文章中已经介绍多次了。MSFvenom是用于生成有效攻击载荷和编码的工具。它由msfpayload和msfencode演变而来。并于2015年6月8日取代了这两者。 在本文中,我们将更深入地研究可用的…