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
千年的回眸
国内的加速地址 DaoCloud
http://guide.daocloud.io/dcs/daocloud-9153151.html#docker-toolbox