阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在Windows中玩转Docker Toolbox

414次阅读
没有评论

共计 3326 个字符,预计需要花费 9 分钟才能阅读完成。

最近在研究虚拟化,容器和大数据,所以从 Docker 入手,下面介绍一下在 Windows 下怎么玩转 Docker。

Docker 本身在 Windows 下有两个软件,一个就是 Docker,另一个是 Docker Toolbox。这里我选择的是 Docker Toolbox,为什么呢?参见官方文档:

https://blog.docker.com/2015/08/docker-toolbox/

首先我们从官网下载最新版的 Windows Docker Toolbox。安装后会安装一个 VirtualBox 虚拟机,一个 Kitematic,这是 GUI 管理 Docker 的工具,没有发布正式版,不推荐使用,另外还有就是我们在命令行下用到的 docker-machine 和 docker 命令了。

基本使用

安装完成 Toolbox 后会有一个 Docker Quickstart Terminal 的快捷方式,双击运行如果报错,那可能是因为你已经安装了 Hyper-v,所以 VirtualBox 无法用 64 位的虚拟机。需要卸载 Hyper-v。

运行后会在 Virtualbox 中创建一个叫做 default 的虚拟机,然后很有可能会卡在 waiting for an IP 的命令下,然后就死活不动了。我的做法是彻底放弃 Docker Quickstart Terminal,根本不用这玩意儿,关掉,我们用 PowerShell 进行虚拟机的管理。

打开 PowerShell,输入:

docker-machine ls

我们可以看到我们当前的 Docker 虚拟机的状态。如果什么都没有的话,那么我们可以使用以下命令创建一个 Docker 虚拟机。

docker-machine create –driver=virtualbox default

创建完毕后,我们在用 docker-machine ls 确认我们的 Docker 虚拟机在运行中。

然后使用以下命令获得虚拟机的环境变量:

docker-machine env default

然后再输入:

docker-machine env default | Invoke-Expression

这样我们就把当前的 PowerShell 和虚拟机里面的 Docker Linux 建立的连接,接下来就可以在 PowerShell 中使用 docker 命令了。

比如我们要查看当前有哪些镜像:

docker images

当前有哪些容器:

docker ps –a

其他各种 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”中删除,然后重新添加我们刚才复制到另外一个磁盘上的那个文件。

这是我设置好后的界面,可以看到我在步骤 3 复制的时候,复制到 E:\VirtualBox\default\dockerdisk.vdi 文件去了。

在 Windows 中玩转 Docker Toolbox

6. 确定,回到 PowerShell,我们使用 docker-machine start default 就可以启动新地址的 Docker 虚拟机了。确保新磁盘的虚拟机没有问题。就可以把 C 盘那个 disk 文件删除了。

【注意:不要在 Window 中直接去复制粘贴 disk 文件,这样会在步骤 5 的时候报错的,报错的内容如下,所以一定要在 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’ {9a4ed2ae-40f7-4445-8615-a59dccb2905c} because a hard disk C:\Users\ 用户名 \.docker\machine\machines\default\disk.vmdk’ with UUID {9a4ed2ae-40f7-4445-8615-a59dccb2905c} already exists. Result Code: E_INVALIDARG (0x80070057) Component: VirtualBox Interface: IVirtualBox {fafa4e17-1ee2-4905-a10e-fe7c18bf5554} Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

镜像加速

在国内使用 Docker Hub 的话就特别慢,为此,我们可以给 Docker 配置国内的加速地址。然后到 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

这样重启 Docker 后就可以用国内的镜像来加速下载了。

试一下下载一个 mysql 看看快不快:

docker pull mysql

下载完镜像,我们运行一个容器:

docker run -d -p 3306:3306 –name mysql -e MYSQL_ROOT_PASSWORD=123 mysql:latest

接下来我们打开 windows 下的 mysql 客户端,服务器地址填 docker 虚拟机的 IP 地址,通过 docker-machine env 可以看到,我这里是 192.168.99.100,然后用户名 root,密码 123,这样我们就可以连接到 docker 容器里面的 mysql 了。

【注意,Docker 容器是在 VirtualBox 的虚拟机里面,不是在 Windows 里面,所以不能用 127.0.0.1 访问】

 

更多 Docker 相关教程见以下内容

 

Docker 安装应用(CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm

 

Ubuntu 14.04 安装 Docker  http://www.linuxidc.com/linux/2014-08/105656.htm

 

Ubuntu 使用 VNC 运行基于 Docker 的桌面系统  http://www.linuxidc.com/Linux/2015-08/121170.htm

 

阿里云 CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm

 

Ubuntu 15.04 下安装 Docker  http://www.linuxidc.com/Linux/2015-07/120444.htm

 

在 Ubuntu Trusty 14.04 (LTS) (64-bit)安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm

 

在 Ubuntu 15.04 上如何安装 Docker 及基本用法 http://www.linuxidc.com/Linux/2015-09/122885.htm

 

Docker 的详细介绍:请点这里
Docker 的下载地址:请点这里

 

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138565.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3326字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7994945
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...
星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手!

星哥带你玩飞牛 NAS-13:自动追番、订阅下载 + 刮削,动漫党彻底解放双手! 作为动漫爱好者,你是否还在为...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...