>>最近在研究docker的一些东西,试着在windows环境安装一个docker。 ### 安装说明 docker在windows下的安装分为 `Docker for Windows` 和 `Docker Toolbox`,具体区别和说明如下: 1. Windows 10 及以上的版本,建议安装 `Docker for Windows` , [Install Docker for Windows](https://docs.docker.com/docker-for-windows/install/ "Install Docker for Windows"),[Get started with Docker for Windows](https://docs.docker.com/docker-for-windows/ "Get started with Docker for Windows"),详细的安装说明可以看官方说明文档。 2. Windows 7 版本系统,建议安装 `Docker Toolbox`,[Install Docker Toolbox on Windows](https://docs.docker.com/toolbox/toolbox_install_windows/ "Install Docker Toolbox on Windows") 3. 国内的下载地址:https://get.daocloud.io/#install-docker-for-mac-windows ### 开始安装 下载下对应的版本安装包后,执行安装。 ![](http://oss.wangyd.com/article/ebe1994684e9fa163870c5a96e4e2025.png) - Docker Compose for Window 勾选 - VirtualBox 虚拟机。如果电脑有安装 Oracle VM VirtualBox 可以不勾选 - Kitematic for Windows(Alpha) 使用图形界面来使用 docker,建议勾选 - Git for Windows git bash 命令终端,如果没有安装建议勾选 ![](http://oss.wangyd.com/article/c3e148dc2d01d8a10de71b95ce7bbe55.png) 继续点击下一步,过一会安装完成。 安装完成后,将安装目录下的 `boot2docker.iso` 拷贝至 `C:\Users\用户名\.docker\machine\cache` 目录下,然后双击打开安装目录下的 `start.sh` 文件。 ![](http://oss.wangyd.com/article/1f32a3527da909ccc6bb897a32a00949.png) 当看到上述画面后,表示虚拟机已经安装在Virtual Box里面,可以打开Oracle VM VirtualBox查看多了一个 default 的虚拟机。 ### 运行 安装成功后,双击桌面图标 `Docker Quickstart Terminal`,默认等待一会,会看到如下界面: ![](http://oss.wangyd.com/article/6ebc009c398b34562d31acb41c47fb3f.png) 异常错误1: 1. 若点击 Docker Quickstart Terminal 图标后,提示 windows 正在查找 bash.exe 的话,则点击浏览,找到 git 安装目下的bash.exe; 2. 或右键属性,修改快捷方式 `D:\Git\bin\bash.exe --login -i "D:\Docker Toolbox\start.sh"`,如图: ![](http://oss.wangyd.com/article/e0709e6ec31058606d449d1ba6d58c02.png) 异常错误2: 启动 Docker Quickstart Terminal报错,大部分是Boot2Docker的问题,通过一下方法解决。 Running pre-create checks... (default) Default Boot2Docker ISO is out-of-date, downloading the latest release ... (default) Latest release for github.com/boot2docker/boot2docker is v17.05.0-ce (default) Downloading C:\Users\xxx\.docker\machine\cache\boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v17.09.1-ce/boot2docker.iso... Error with pre-create check: "Get https://github-production-release-asset-2e65be .s3.amazonaws.com/14930729/b1e1c6ca-319d-11e7-8ca4-328ef7d1d6cb?X-Amz-Algorithm= AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20170611%2Fus-east-1%2F s3%2Faws4_request&X-Amz-Date=20170611T031536Z&X-Amz-Expires=300&X-Amz-Signature= b9364dd7b96d5c5b78a7874defcc0788e9a307d0be02268282e839ca615b0057&X-Amz-SignedHea ders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dboo t2docker.iso&response-content-type=application%2Foctet-stream: dial tcp 52.216.8 2.96:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed b ecause connected host has failed to respond." Looks like something went wrong in step ′Checking if machine default exists′... Press any key to continue... 因为启动时如果检测到没有 Boot2Docker,或者 Boot2Docker 版本过低,就会去下载,众所周知墙的存在,所有导致启动失败。这是可以手动下载,然后放到对应目录。 下载地址:https://github.com/boot2docker/boot2docker/releases, 下载后请复制到 `C:\Users\xxx\.docker\machine\cache\` 目录并删除.tmp结尾的文件,和复制到 Docker Toolbox 安装目录下。 ### 配置使用 安装成功后,可以使用一些命令去查看与操作。 查看版本 `docker version` , 查看安装的 docker 虚拟机 `docker-machine ls` , 查看安装的 docker 的环境变量 `docker-machine env default` , 移除安装的 docker 虚拟机 `docker-machine rm default` , 创建 docker 虚拟机 `docker-machine create --driver=virtualbox default` , 连接 docker 虚拟机 `docker-machine ssh default` , ##### 使用 Docker 镜像加速器 在 阿里云 [容器Hub服务](https://cr.console.aliyun.com/?spm=5176.100239.blogcont29941.12.bnG91q#/imageList "容器Hub服务")里面找到为你独立分配的加速地址。 在Windows、Mac系统上使用Docker Toolbox使用Docker的话 推荐做法是在创建Linux虚拟机的时候,就将加速器的地址配置进去 docker-machine create --engine-registry-mirror= -d virtualbox default docker-machine env default eval "$(docker-machine env default)" docker info 如果你已经通过 `docker-machine` 创建了虚拟机的话,则需要通过登录机器修改配置了 首先通过 `docker-machine ssh ` 登录虚拟机 然后修改 `/var/lib/boot2docker/profile` 文件,将 `--registry-mirror=` 添加到EXTRA_ARGS中 最后 `sudo /etc/init.d/docker restart` 重启Docker服务就可以了。 ![](http://oss.wangyd.com/article/61e5d2a37ec7d83a22f34578c27bd58e.png) >详情可以查看 [阿里云 Docker 镜像加速器](https://yq.aliyun.com/articles/29941 "阿里云 Docker 镜像加速器") ### 更换 docker 虚拟机文件存储 默认情况下,docker-machine创建的虚拟机文件,是保存在C盘的C:\Users\用户名\.docker\machine\machines\default 目录下的,如果下载和使用的镜像过多,那么必然导致该文件夹膨胀过大,如果C盘比较吃紧,那么我们就得考虑把该虚拟机移到另一个盘上。 具体操作如下: 1. 使用 `docker-machine stop default` 停掉Docker的虚拟机。 2. 打开 VirtualBox,选择“管理”菜单下的“虚拟介质管理”,我们可以看到Docker虚拟机用的虚拟硬盘的文件disk。 3. 选中“disk”,然后点击菜单中的“复制”命令,根据向导,把当前的disk复制到另一个盘上面去。 4. 回到 VirtualBox 主界面,右键“default”这个虚拟机,选择“设置”命令,在弹出的窗口中选择“存储”选项。 5. 把disk从“控制器SATA”中删除,然后重新添加我们刚才复制到另外一个磁盘上的那个文件。 6. 重新启动虚拟机 `docker-machine start default` >确保使用新磁盘的虚拟机没有问题后,就可以把C盘那个disk文件删除了。 >注意:不能在 Window 中直接去复制粘贴 disk 文件,否则在添加硬盘时会报错的,所以一定要在 VirtualBox 中去复制! ### 共享文件夹 1. 关闭虚拟机,打开 VirtualBox ,右键“default”这个虚拟机,选择“设置”命令,在弹出的窗口中选择“共享文件夹”选项。 2. 修改当前共享文件夹目录为需要文件夹: ![](http://oss.wangyd.com/article/f50d5f016b61f19866f267fc2ad27640.png) 3. 在根目录下执行 `mkdir /share-docker`, `mount -t vboxsf docker /share-docker` 4. 保存后,重启虚拟机,登陆虚拟机 `docker-machine ssh default` ,`cd /share-docker`,文件夹就是共享文件夹。 注: 默认用户名docker,密码:tcuser。docker没有权限操作时,可以使用 `sudo -i` 切换。