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

在Windows中玩转Docker Toolbox

426次阅读
没有评论

共计 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
文章数
19352
评论数
4
阅读量
8160752
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

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

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

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

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

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

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

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

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

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

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

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

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...

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

一言一句话
-「
手气不错
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

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

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...