为什么使用Docker Toolbox

Docker在Windows上使用有两种方式,一是利用VirtualBox建立linux虚拟机,在linux虚拟机中安装docker服务端和客户端,二是利用Windows的Hyper-v虚拟化技术,直接在Windows上安装docker服务端和客户端。WIndows7不支持Hyper-v,所以只能采用Docker Toolbox的方式使用Docker。下载地址:https://docs.docker.com/toolbox/overview/

安装

安装过程很简单,保持默认选项,直接【next】即可。VirualBox和Git如果已经安装,也可以不选

DockerToolbox 安装及安装CentOS - 图1

安装完成后,桌面上会多出3各图标,如下。其中VirtualBox提供了linux虚拟机的运行环境,Docker Quickstart Terminal用于快速介入linux虚拟机,提供命令行交互,Kitematic是docker GUI很少用到。

DockerToolbox 安装及安装CentOS - 图2

启动

第一次运行Docker Quickstart Terminal时会进行Docker环境的初始化,会在VirtualBox中自动创建名字为【default】的linux虚拟机,再此过程中会用到boot2docker.iso镜像文件。默认情况下,启动程序会从GitHub上下载此文件的最新版,但由于文件相对较大且速度不给力,多数情况下会下载失败,造成Docker环境无法启动,如下图:

DockerToolbox 安装及安装CentOS - 图3

解决方法:

其实DockerToolbox安装文件自带了boot2docker.iso镜像文件,位于安装目录下(如C:\Program Files\Docker Toolbox) ,将此文件拷至C:\Users\Administrator.docker\machine\cache目录下,然后在网络断开的情况下重新启动,便可初始化成功。如下图:

DockerToolbox 安装及安装CentOS - 图4

其中 【192.168.99.100】是VirtualBox中名字为【default】虚拟机的ip地址。

利用Xshell登录

Docker Quickstart Terminal使用起来不方便,可以使用XShell进行SSH登录Docker环境(其实就是远程访问default linux虚拟机)。

通过在PowerShell或cmd终端中执行【docker-machine ls】命令,可以看到虚拟机的地址,本机是192.168.99.100。

DockerToolbox 安装及安装CentOS - 图5

default虚拟机的默认用户名和密码

用户名:docker
密码: tcuser

登录成功后的界面

DockerToolbox 安装及安装CentOS - 图6

更改虚拟磁盘存储位置

虚拟机的默认存储位置是C:\Users\Administrator.docker\machine\machines ,后期docke镜像文件会不断增加,为了给系统盘减负,最好将磁盘移动到其他位置。

  • 首先通过PowerShell或cmd终端中执行【docker-machine stop default】命令停止default虚拟机

DockerToolbox 安装及安装CentOS - 图7

  • 通过VirtualBox【管理】-》【虚拟介质管理】界面对虚拟磁盘进行复制

DockerToolbox 安装及安装CentOS - 图8

需要注意虚拟磁盘类型的选择

DockerToolbox 安装及安装CentOS - 图9

  • 为虚拟机添加新复制的虚拟磁盘,删除之前的dick

DockerToolbox 安装及安装CentOS - 图10

  • 通过PowerShell或cmd终端中执行【docker-machine start default】命令停止default虚拟机

更改镜像仓库地址

docker默认的镜像仓库地址是https://hub.docker.com/,但国内的下载速度太过缓慢,最好使用国内镜像,比如阿里云。

首先需要注册阿里云账号,然后在https://cr.console.aliyun.com/页面的左侧可以看到【镜像加速器】选项

DockerToolbox 安装及安装CentOS - 图11

在powershell或cmd中通过 【docker-machine ssh default】命令登录虚拟机(或使用设置好的XShell连接),执行如下命令:

  1. sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=加速地址 |g" /var/lib/boot2docker/profile

然后重启default

  1. docker-machine restart default

安装Docker Centos镜像

1.拉取指定版本 CentOS 镜像

这里我们安装指定版本为例(centos7)

  1. $ docker pull centos:centos7

DockerToolbox 安装及安装CentOS - 图12

2.查看本地镜像

使用以下命令来查看是否已安装了 centos7:

  1. $ docker images

DockerToolbox 安装及安装CentOS - 图13

3.运行容器

并且可以通过 exec 命令进入 CentOS 容器

  1. $ docker run -itd --name centos-test centos:centos7

DockerToolbox 安装及安装CentOS - 图14

4.安装成功

最后我们可以通过 docker ps 命令查看容器的运行信息:

DockerToolbox 安装及安装CentOS - 图15