Win10家庭版安装Docker踩坑整理

编程知识 更新时间:2023-04-27 03:17:17

Win10家庭版安装Docker踩坑整理

  • 可用的解决方案
  • 安装ToolBox之后的其他问题
    • Toolbox点击出现链接无效
    • 启动Docker Quickstart Terminal初始化缓慢,卡在下载`boot2docker.iso`阶段
    • 修改Docker镜像源
    • 重启虚拟机后配置被修改(一般是之前配置的镜像源被修改)
    • Toolbox内打包生成的镜像运行不能通过localhost访问

可用的解决方案

由于Windows10 的版本是家庭版,安装Docker Desktop for Windows的时候会报错,参考网上的贴子,有以下几种解决方案:

  1. 开启Hyper-V并通过修改注册表将自己的系统伪装成Win10专业版,再安装Docker Desktop for Windows(部分家庭版即使伪装成专业版,安装Docker Desktop for Windows仍然报错)
  2. 通过升级密钥将自己的家庭版升级为专业版(部分家庭版存在无法用升级密钥验证的情况)
  3. 放弃使用Docker Desktop for Windows,改用Docker Toolbox

经过一番操作,还是选择了方案3。
关于Win10家庭版安装Toolbox,请参考菜鸟教程 Windows Docker 安装中win7、win8 系统的部分
注:如果开启了Hyper-V,按照方案3操作要关闭Hyper-V

安装ToolBox之后的其他问题

Toolbox点击出现链接无效

解决方案:
右键→属性→目标,修改里面的git路径为自己本机的git路径即可

启动Docker Quickstart Terminal初始化缓慢,卡在下载boot2docker.iso阶段

解决方案:

解决方案:

  1. 方案一:手动从github上下载最新版的 boot2docker.iso 到 C:\Users\[你的用户]\.docker\machine\cache路径下
  2. 方案二:断开网络连接,这一步过后再重新联网

修改Docker镜像源

解决方案:

  1. 在Windows命令行执行docker-machine ssh [machine-name]进入VM bash
  2. 执行sudo vi /var/lib/boot2docker/profile
  3. --label provider=virtualbox的下一行添加--registry-mirror [镜像地址]
    在此给出几个国内的docker镜像源:
Docker镜像加速器镜像加速器地址
Docker 中国官方镜像https://registry.docker-cn
科大镜像https://docker.mirrors.ustc.edu
网易https://hub-mirror.c.163
腾讯https://mirrors.tencentyun
七牛https://reg-mirror.qiniu
阿里云https://<your_code>.mirror.aliyuncs
  1. 重启VM:
    1. exit退出VM bash
    2. 在Windows命令行中执行docker-machine restart
      PS:
      在restart之后会有如下信息:

      在此建议执行指令docker-machine env,接着下面会有提示需要继续执行的指令

      按照要求执行即可
  2. 执行指令docker info,查看配置是否生效,能够在registry mirrors中看到自己配置的镜像地址则证明配置生效

重启虚拟机后配置被修改(一般是之前配置的镜像源被修改)

解决方案:
在你的Docker Toolbox安装路径下找到start.sh文件,注释掉 yes | "${DOCKER_MACHINE}" regenerate-certs "${VM}"这一行即可

if [ "${VM_STATUS}" != "Running" ]; then
  "${DOCKER_MACHINE}" start "${VM}"
  yes | "${DOCKER_MACHINE}" regenerate-certs "${VM}"  # 注释掉这一行
fi

Toolbox内打包生成的镜像运行不能通过localhost访问

解决方案:
方案一:
toolbox中的容器是运行在一台虚拟化地linux系统(默认是default)中,每次启动的时候toolbox会为这台机器分配一个ip地址(如下图所示)

所以我们访问localhost会失效,这是我们只需要把localhost换成容器所在机器的IP地址即可。
我们也可以通过以下指令查看指定机器的ip

docker-machine ip default 

方案二:
通过Virtual Box给default机器做端口转发。
比如,我生成的镜像运行需要访问8080端口,并且映射到主机的8080端口,在Virtual Box的default虚拟机(默认情况下)那里配置端口转发即可


配置完端口转发之后即可访问localhost的对应端口

————————————————
参考链接:

  1. 如何修改Windows上Docker的镜像源
  2. Docker Hub 镜像加速器列表
  3. Docker Toolbox for Windows 之安装二三事
  4. Windows下通过DockerToolbox安装Docker
  5. docker端口映射后不能使用localhost:port访问
  6. docker toolbox 主机无法用localhost访问 只能通过默认的宿主ip

更多推荐

Win10家庭版安装Docker踩坑整理

本文发布于:2023-04-20 12:30:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/0de7eb16b93e3a900f151b47746bcf44.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:家庭版   Docker

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 90042文章数
  • 23297阅读数
  • 0评论数