Win10家庭版安装Docker踩坑整理
- 可用的解决方案
- 安装ToolBox之后的其他问题
- Toolbox点击出现链接无效
- 启动Docker Quickstart Terminal初始化缓慢,卡在下载`boot2docker.iso`阶段
- 修改Docker镜像源
- 重启虚拟机后配置被修改(一般是之前配置的镜像源被修改)
- Toolbox内打包生成的镜像运行不能通过localhost访问
可用的解决方案
由于Windows10 的版本是家庭版,安装Docker Desktop for Windows的时候会报错,参考网上的贴子,有以下几种解决方案:
- 开启Hyper-V并通过修改注册表将自己的系统伪装成Win10专业版,再安装Docker Desktop for Windows(部分家庭版即使伪装成专业版,安装Docker Desktop for Windows仍然报错)
- 通过升级密钥将自己的家庭版升级为专业版(部分家庭版存在无法用升级密钥验证的情况)
- 放弃使用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
阶段
解决方案:
解决方案:
- 方案一:手动从github上下载最新版的 boot2docker.iso 到
C:\Users\[你的用户]\.docker\machine\cache
路径下 - 方案二:断开网络连接,这一步过后再重新联网
修改Docker镜像源
解决方案:
- 在Windows命令行执行
docker-machine ssh [machine-name]
进入VM bash - 执行
sudo vi /var/lib/boot2docker/profile
- 在
--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 |
- 重启VM:
exit
退出VM bash- 在Windows命令行中执行
docker-machine restart
PS:
在restart之后会有如下信息:
在此建议执行指令docker-machine env
,接着下面会有提示需要继续执行的指令
按照要求执行即可
- 执行指令
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的对应端口
————————————————
参考链接:
- 如何修改Windows上Docker的镜像源
- Docker Hub 镜像加速器列表
- Docker Toolbox for Windows 之安装二三事
- Windows下通过DockerToolbox安装Docker
- docker端口映射后不能使用localhost:port访问
- docker toolbox 主机无法用localhost访问 只能通过默认的宿主ip
更多推荐
Win10家庭版安装Docker踩坑整理
发布评论