下载
这里,我们采用 Docker Toolbox 来安装 Docker。
下载 Windows 版本的 Docker Toolbox。
- 官网下载地址: https://docs.docker.com/toolbox/toolbox_install_windows/
- 百度网盘下载: https://pan.baidu.com/s/1HkHUGw_ST96T08_XdgWIvQ
Windows 系统的要求:
- 64 位操作系统
- 支持并且已经开启了硬件虚拟化技术(Hardware Virtualization Technology)
Docker Toolbox 是一个安装程序,利用它可以快速在 Mac 或 Windows 系统上,安装 Docker 。
安装
双击下载后的安装程序 DockerToolbox.exe ,开始安装。
默认勾选的安装软件有 6 个:
- Docker Client for Windows
- Docker Machine for Windows
- Docker Compose for Windows
- VirtualBox
- Kitematic for Windows(Alpha)
- Git for Windows
选择默认安装即可。
Docker Toolbox 中包含的软件的说明:
- Docker Client for Windows
Windows 中 的 Docker 客户端。 - Docker Machine for Windows
Docker Machine 是一个简化 Docker 安装的命令行工具,通过 docker-machine 命令,可以在相应的平台上安装 Docker 服务,比如 VirtualBox、 Digital Ocean、Microsoft Azure 等。也可以通过 docker-machine 来管理 VirtualBox 中的虚拟机。 - Docker Compose for Windows
在 Windows 中安装 docker-compose 命令。 - VirtualBox
流行的虚拟机软件有 VMware、VirtualBox 等,Docker Toolbox 提供了 VirtualBox 软件的安装包。
如果你的电脑已经安装了 VirtualBox,就不要勾选它。安装 Toolbox 时,请先关闭 VirtualBox。
由于 Docker 是基于 Linux Container 的,所以 Docker 服务器必须运行在 Linux 内核的操作系统上。在 Windows 平台上运行的 Docker,其实是运行在 Windows 上的虚拟机软件所创建的 Linux 虚拟机上。 - Kitematic for Windows
Docker GUI(图形用户界面),不推荐安装。 - Git for Windows
Windows 中的 Git 工具,如果你已经安装了 Git,就不要勾选。
Docker Toolbox 提供了 windows 环境下的 Git 客户端(即 msysGit),msysGit 的优势是提供了一个命令行界面 Git Bash。
注意: 对于 linux,Docker client、Docker daemon 以及容器都可以直接运行在本地机器上;但对于 windows,Docker daemon 以及容器必须运行在 Linux 虚拟机上,这个虚拟机称为 Docker host。
关于 Docker 的几点说明:
- Docker 引擎使用的是 Linux 内核特性,所以我们需要在 Windows 上使用一个轻量级的虚拟机 (VM) 来运行 Docker。我们使用 Windows 的 Docker 客户端来控制 Docker 虚拟化引擎的构建、运行和管理。
- 为了简化这个过程,官方设计了一个叫 Boot2Docker 的应用程序,可以通过它来安装虚拟机和运行 Docker。
- Docker 采用的是 C/S 架构。虽然你使用的是 Windows 的 docker 客户端,但是 docker 服务和容器依然运行在 Linux 宿主主机上。
安装完成后,桌面会有三个快捷方式:Docker Quickstart Termial、Oracle VM VirtualBox、Kitematic。
关于 Docker Toolbox 的安装说明:
在开始安装 Docker Toolbox 之前,可能很多人的 Windows 上,已经安装了 Git 和 VirtualBox。这里,建议先将它们卸载掉。然后,再来安装 Docker Toolbox。否则,可能出现各种问题。
安装 Docker Toolbox 时,在选择安装的组件界面,不要勾选 Kitematic for Windows,其他的五个都勾选。然后一直点击下一步,默认安装完成即可。
安装成功后,桌面会有两个快捷方式:Docker Quickstart Termial 和 Oracle VM VirtualBox。
开始使用
双击桌面的 Docker Quickstart Terminal 图标,从而打开一个终端。
首次运行时,会自动进行一些初始化配置(比如创建名称为 default 的 linux 虚拟机,配置环境变量等),需要等待一段时间。
全部完成后,可以看到命令提示符 $ 。
Start interactive shell
HP@LAPTOP-ND0NRET5 MINGW64 /c/Program Files/Docker Toolbox
$
像上面那样,就说明初始化配置成功了。而且 docker 服务器已经处于运行状态。
linux 虚拟机(名称为 default)的 IP 是 192.168.99.100,默认的用户名和密码是 docker/tcuser。
然后,我们就可以在终端(terminal)中,运行各种 docker 命令了。
查看 docker 的客户端和服务器端的版本信息
$ docker version
Client:
Version: 18.03.0-ce
API version: 1.37
Go version: go1.9.4
Git commit: 0520e24302
Built: Fri Mar 23 08:31:36 2018
OS/Arch: windows/amd64
Experimental: false
Orchestrator: swarm
Server:
Engine:
Version: 18.04.0-ce
API version: 1.37 (minimum version 1.12)
Go version: go1.9.4
Git commit: 3d479c0
Built: Tue Apr 10 18:23:35 2018
OS/Arch: linux/amd64
Experimental: false
只查看 docker 客户端的版本
$ docker -v
Docker version 18.03.0-ce, build 0520e24302
# docker -v 等价于 docker --version
测试 hello-world
执行命令:
$ docker run hello-world
该命令会从 docker hub 上拉取 hello-world 镜像,并创建一个对应的容器,这个容器很快就运行完毕了。
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
9bb5a5d4561a: Pull complete
Digest: sha256:f5233545e43561214ca4891fd1157e1c3c563316ed8e237750d59bde73361e77
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
如果看到上述输出,就说明测试容器成功。
查看本地所有的 image(镜像)
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest e38bc07ac18e 9 days ago 1.85kB
docker images 等价于 docker image ls
查看本地正在运行的 container(容器)
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
由于刚刚基于 hello-world 镜像创建的容器实例,运行时间很短,就关闭了。所以,这里的列表没有数据。
docker ps 等价于 docker container ls
查看本地所有的容器(包括已经关闭的)
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f248c28eeeee hello-world "/hello" 32 minutes ago Exited (0) 32 minutes ago trusting_gates
docker ps -a 等价于 docker container ls –all
删除指定的容器
docker rm
等价于
docker container rm
$ docker rm f248c28eeeee
删除所有的容器
$ docker rm $(docker ps -a -q)
删除指定的镜像
docker rmi
等价于
docker image rm
$ docker rmi hello-world
删除所有的镜像
$ docker rmi $(docker images -q)
查看 machine 列表
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v18.04.0-ce
关于 Docker Quickstart Terminal 的使用说明
首次双击桌面的 Docker Quickstart Terminal 快捷方式时,会进行如下操作:
- 打开一个终端(terminal);
- 在 VirtualBox 中创建一台 Linux 虚拟机(名称为 default);
- 配置 Windows 系统的环境变量;
- 启动 Linux 虚拟机,并运行 docker 服务。
初始化配置需要等待一段时间。
下次双击 Docker Quickstart Terminal 时,就会直接打开终端,并且启动 linux 虚拟机(名称为 default)和 docker 服务。
在终端中,可以输入 docker 相关的命令,来操作 docker 。还可以管理 linux 虚拟机,比如启动、关闭等等。当然,你也可以直接通过 VirtualBox 来管理虚拟机。
其实,这个终端(terminal)就是一个命令行界面,它和 Windows 自带的 CMD 或者 PowerShell 的功能一样,都是在 Windows 中执行某些命令,只不过它的语法风格类似于 Linux。
在终端中,管理虚拟机的常用命令。
查看虚拟机列表
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v18.04.0-ce
关闭指定的虚拟机
$ docker-machine stop default
开启指定的虚拟机
$ docker-machine start default
在终端中,可以访问 Windows 系统的各个目录。只不过,风格和 linux 系统类似。
# 打印当前的工作目录
$ pwd
/c/Program Files/Docker Toolbox
# 切换到家目录
$ cd
# 打印当前的工作目录
$ pwd
/c/Users/HP
# 切换到指定的目录
cd /c/"Program Files"
或者
cd /c/Program\ Files
注意:切换到指定的目录时,如果目录名中有空格,需要用引号括起来。或者中间用反斜线。支持 tab 键自动填充。
共享目录
默认情况下,Windows 系统和 Linux 虚拟机的共享目录是 C:\Users。
也就是 Windows 系统的 C:\Users 目录,挂载到了 Linux 虚拟机的 /c/Users 挂载点。
如果你需要添加额外的共享文件夹,可以通过 VirtualBox 管理工具来进行设置。
配置国内的镜像仓库网址
由于 Docker 默认使用的是国外的镜像仓库, 对于国内的 Docker 使用者,拉取 image 时,可能很慢,甚至无法下载到本地。
为此,我们可以配置国内的镜像仓库网址。
推荐使用国内的官方镜像仓库 https://registry.docker-cn.com
这里,我们在终端中连接虚拟机,并进行配置。当然,你也可以直接在 VirtualBox 中访问虚拟机,或者通过 Xshell 来连接虚拟机。
打开终端,运行下面的命令连接指定的虚拟机。
# 连接 linux 虚拟机(名称为 default)
$ docker-machine ssh default
然后,编辑 /var/lib/boot2docker/profile 文件
docker@default:~$ sudo vi /var/lib/boot2docker/profile
在 –label provider=virtualbox 的下方,添加一行代码:
--registry-mirror https://registry.docker-cn.com
保存之后,重启 docker 服务。
docker@default:~$ sudo /etc/init.d/docker restart
或者 exit 退出 VM bash 后,在终端,执行下面的命令,重启 Linux 虚拟机。
$ docker-machine restart default
查看 docker 的基本信息,以检验配置是否成功。
$ docker info
从镜像仓库搜索指定的镜像
$ docker search mysql
# 热度不小于 100;显示完整的描述信息
$ docker search --filter=stars=100 --no-trunc mysql