## 安装
windows 版的 Docker 有 `desktop` 和 `toolbox` 两个版本。Docker Desktop 对 `win10` 版本有要求,低于 win10 Pro/Enterprise(15063+) win10 home(19018+) 只能安装 toolbox 版本的 Docker。[docker 中文文档](https://www.runoob.com/docker/windows-docker-install.html)
### 高版本 win 10 安装
高版本 win 10 安装 `desktop` 版本不会有问题,[desktop下载地址](https://www.docker.com/products/docker-desktop)
> 在低版本的 win10 下安装 `desktop` 会报错 "Docker Desktop requires Windows 10 Pro/Enterprise(15063+) or Windows 10 Home(19018+)."
![](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7b519edb1c6744048e313820643b022e~tplv-k3u1fbpfcp-zoom-1.image)
### 低版本 win 10 安装
低版本的 win 10 可安装 docker-toolbox (EE = Enterprise Edition: 企业版:付费;CE = Community Edition 社区版:免费),[下载地址](https://get.daocloud.io/toolbox/)
下载 toolbox 后一直点 next 就可以了,安装好后双击 Docker Quickstart Terminal,出现以下问题
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/35b2ed90e3464a6e9779ed7d0953279f~tplv-k3u1fbpfcp-zoom-1.image)
缺少boot2docker,双击Docker Quickstart Terminal时会自动下载,但因为网络原因下载会比较慢,直接进入给出的网址 [v17.03.0-ce/boot2docker.iso](https://github.com/boot2docker/boot2docker/releases/download/v19.03.12/boot2docker.iso) 进行下载,下载完后将iso镜像放入指定路径:
![](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b4256480604e45c9b84b9bdcda84f2f7~tplv-k3u1fbpfcp-zoom-1.image)
启动了小鲸鱼的界面说明安装成功了,默认情况下 Docker 不是开机启动的,使用前需要启动 Docker 软件才能使用 Docker 命令。如果经常用到Docker,可以设置成开机启动。
![启动成功的界面](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1c9a8ada9d8d4f539b5250304bceb63c~tplv-k3u1fbpfcp-zoom-1.image)
## 虚拟机配置
在Windows家庭版下安装了docker,但映射完毕之后,在主机的浏览器中,打开localhost:port无法访问对应的服务。
这是因为docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker。也就是说,服务中使用的localhost指的是这个Linux环境的地址,而不是我们的宿主环境Windows。
因此还需要配置自带虚拟机的 ip 和端口号才能成功启动本地镜像服务。需要把虚拟机的 ip 和端口号映射到本机。打开虚拟机的设置后如下图
![](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b9d47e407f304f8dac2f65a95c553a55~tplv-k3u1fbpfcp-zoom-1.image)
![虚拟机和本机地址映射](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/01a524759e314780a7fd3c57ca876ae8~tplv-k3u1fbpfcp-zoom-1.image)
成功启动后如下图
![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/41723bc7946146fcb894271a20d3fe7e~tplv-k3u1fbpfcp-zoom-1.image)
## 启动镜像服务的坑
在 `Dockerfile` 等配置文件都设置好后,以为可以跑起来了,然而可能会出现下面这个报错
> standard_init_linux.go:211: exec user process caused "no such file or directory"
解决这个报错的方法是需要设置entrypoint.sh入口文件的类型,
设置方法如下:
- 在 `git bash` 下输入 `vi entrypoint.sh` 命令进入该入口文件的编辑模式
- 输入 `:set ff=unix`,按回车,文件类型就设置成功了
- 最后输入 `:wq`,然后按回车就保存并退出编辑了
编辑时如下图:
![](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/b91d49541ebc4cefadc9a2aa2b00613b~tplv-k3u1fbpfcp-zoom-1.image)
设置成功后如下图:
![](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/a524c76388f7418b8bc4467fe9ce08dd~tplv-k3u1fbpfcp-zoom-1.image)
## 相关文章
[git bash 编辑文件详细命令](https://www.jianshu.com/p/d6adaea9060e)
[Docker 常用命令](https://www.jianshu.com/p/81d9ef5c7b07)