Docker Toolbox for Windows 之安装二三事

有条件还是尽量升级到 Win10 去用 Docker for Windows

安装所需的环境

1、Win7 及以上版本,Win10 以上可以安装 Docker for Windows
2、MacType 和 VirtualBox 冲突,导致无法启动虚拟机
3、安装 VirtualBox 时选择 NDIS5 驱动器。根据官方的说法,从 Windows Vista 开始, VirtualBox 默认安装 NDIS6 驱动,但是可能会导致虚拟机从系统变慢到网络异常的一系列问题,所以如果不幸出现了问题,可以重装 Docker Toolbox,选择用 NDIS5 驱动安装 VirtualBox
点击查看官方说法

启动

点击 Docker Quickstart Terminal

有时点击可能无效,是因为之前有安装过 git 了,但是 git 的安装路径不对,点击右键 - 属性 - 快捷方式 修改 bash 的路径即可

不出意外会需要更新 boot2docker.iso 文件,但是下载很慢,此时可以退出直接去 github 下载最新版的 boot2docker.isoC:\Users\Administrator\.docker\machine\cache路径下

重新点击,启动成功

此前电脑上装了 MacType,导致一直无法启动 VirtualBox 的虚拟机,这里再次提个醒。其实以前安装 Genymotion 的时候就遇到过 MacType 和 VirtualBox 冲突的情况,只是一直没有联系到一起

创建虚拟机 default
鲸鱼出现说明启动成功了!

现在可以 Hello World 了

docker run hello-world
Hello World

现在你有一个镜像 (image) 和一个容器(container)了

镜像和容器,可以用类和实例类比,镜像是模版,容器是实例

docker images // 查看所有镜像
docker container ls // 查看正在运行的容器,辛辛苦苦敲了这几个单词却没有显示容器怎么办?
docker container ls -a // 可以带上 -a 参数,列出所有的容器,此时可以看到刚才的 hello-world 容器了,因为它运行完就退出了
docker rm -f container CONTAINER ID // 删除容器
docker rmi IMAGE ID // 删除镜像

设置国内镜像源

如果尝试拉取一个比较大的镜像,比如nginx,你会发现速度慢得让人怀疑人生,此时可以设置一下国内的镜像源,让下载速度起飞

docker-machine ssh default // 先进入虚拟机,default 是默认的虚拟机名称
sudo vi /var/lib/boot2docker/profile // 编辑这个文件,添加镜像源 --registry-mirror https://registry.docker-cn.com
sudo vi /var/lib/boot2docker/profile
sudo /etc/init.d/docker restart // 重启 docker 进程
exit // 退出虚拟机
docker info // 看一下镜像源是否设置成功(是否有刚刚设置的 --registry-mirror 这一行)
docker pull nginx // 现在可以愉快地拉取`nginx`镜像了

这里有个问题,对于虚拟机中的配置的修改,在重启虚拟机之后(比如关机再开机)配置又被重置了,导致每次开机都要重新配置一遍,比如上面的镜像源配置。Github 上也有不少这方面的 issue #1718 这个描述得比较清晰,暂时的解决方案也很简单,第一次启动后修改启动脚本 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 默认只能访问 C:\Users 这个文件夹下的内容,映射到虚拟机上就是 /c/Users

注意:c 是小写,Users 是大写开头

如果你的项目在这个目录内,在添加数据卷(Volume)挂载本机目录时,可以使用相对路径, 比如这样

...
redis:
  ...
  volumes:
    - ./data:/data
  ...
...

如果你本机的项目放在其他目录,或者需要进入到其他目录的权限,需要添加该目录到虚拟机的共享文件夹

  1. 打开 VirtualBox
  2. 选择虚拟机,点击设置,这里是 default
  3. 选择共享文件夹,添加目录,映射到虚拟机的对应路径(截图显示是映射到 /Dockerfile 文件夹)
    添加共享文件夹
  4. 重启虚拟机
docker-machine restart default

这样就可以愉快地写数据卷(Volume)了,比如这样:

...
redis:
  ...
  volumes:
    - /Dockerfile/data:/data #这里就只能使用绝对路径了
  ...
...

Docker 开机自启动

Docker Quickstart Terminal 快捷方式拖到开始菜单『启动』文件夹下即可,这样 Docker 每次开机都会自行启动,相应的为了能让容器也重新启动(因为关机等原因容器停止运行了,但是并未删除,只需重新启动即可),可以加一条重启的命令:

...
redis:
  ...
  restart: always # 加一条重启的命令
  volumes:
    - /Dockerfile/data:/data 
  ...
...

卸载 Toolbox

进入控制面板,先卸载 Toolbox,再卸载 VirtualBox,C:\Users\Administor\.docker 需要手动删除

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342