Windows Docker 镜像加速


Windows 平台 有两个Docker  是Docke和 Docker Toolbox 这里用toolbox
官网下 最新版 Windows Docker Toolbox 安装后有
VirtualBox虚拟机
Kitematic 是GUI管理 Docker的工具 不使用
命令行Docker Quickstart Terminal 不使用

PowerShell 虚拟机的管理


用windows的 PowerShell进行虚拟机的管理
如果 安装了Hyper-v 以VirtualBox无法用64位的虚拟机 需要卸载Hyper-v

Virtualbox 创建 default 虚拟机  


打开PowerShell 输入 docker-machine ls
docker-machine create --driver=virtualbox default
创建完毕后 docker-machine ls 确认
获得虚拟机的环境变量 docker-machine env default
输入 docker-machine env default | Invoke-Expression
当前的PowerShell和虚拟机里面的Docker Linux建立的连接

查看镜像 docker images


REPOSITORY          TAG                 IMAGE ID            CREATED           SIZE
golang              latest              be63d15101cb        11 days ago       814MB
alpine              latest              b7b28af77ffe        2 weeks ago       5.58MB

当前容器 docker ps -a


CONTAINER ID        IMAGE               COMMAND     CREATED         STATUS         PORTS        NAMES
32717baf7f01        alpine:latest       "/bin/sh"   3 hours ago     Exited (255)   8088         alpine

Docker虚拟机文件地址修改


默认 docker-machine 创建的虚拟机文件 保存在C盘的C:\Users\Administrator\.docker\machine\machines\default 目录
如果下载 镜像过多 导致该文件夹 过大 C盘比较吃紧 考虑把该虚拟机移到另一个盘上
具体操作如
docker-machine stop default 停掉Docker的虚拟机  
打开VirtualBox  选择 管理 菜单下的 虚拟介质管理  看到Docker 虚拟硬盘的文件disk  
选中 disk 点击菜单中的 复制  把当前的disk复制到另一个盘上面去  
回到VirtualBox主界面  右键 default  虚拟机  选择 设置 在弹出的窗口中选择 存储 选项  
把disk从 控制器SATA 删除  然后重新添加 刚才复制到另外一个磁盘上的那个文件  
E:\VirtualBox\default\dockerdisk.vdi
回到PowerShell 使用 docker-machine start default 启动新地址的Docker虚拟机了 确保新磁盘的虚拟机没有问题  就可以把C盘那个disk文件删除了  

不要在Window中直接去复制粘贴disk文件 报错的内容如下 要在VirtualBox中去复制
Failed to open the hard disk file D:\Docker\boot2docker-vm\boot2docker-vm.vmdk. Cannot register the hard disk 'D:\Docker\boot2docker-vm\boot2docker-vm.vmdk' because a hard disk

Docker Hub 镜像加速


国内 Docker Hub 特别慢
可以给Docker配置国内的加速地址  DaoCloud 和 阿里云的镜像加速
另外还有网易的蜂巢
选一个 以DaoClound为例  注册账号  然后在 https://www.daocloud.io/mirror  就可以看到DaoClound提供给您的镜像加速的URL
然后到PowerShell中去依次执行
docker-machine ssh default
sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile
exit
docker-machine restart default
进default主机查看
cat /var/lib/boot2docker/profile
内容为
EXTRA_ARGS='--registry-mirror=http://d7e77b19.m.daocloud.io
--label provider=virtualbox
'
CACERT=/var/lib/boot2docker/ca.pem
DOCKER_HOST='-H tcp://0.0.0.0:2376'
DOCKER_STORAGE=aufs
DOCKER_TLS=auto
SERVERKEY=/var/lib/boot2docker/server-key.pem
SERVERCERT=/var/lib/boot2docker/server.pem
结果如期
重启后 用国内的镜像来加速下载了  速度快了很多
docker pull golang:latest