注:本文更新时间:2017-07-05(Docker发展得很快)

1. 环境要求

需要Windows 10 Pro系统;不是win10的windows系统不能用Docker for Windows,需要使用 Docker Toolbox。

2. 安装

2.1 下载

Docker store下载地址:下载 Docker CE for Windows

2.2 安装

基本上,什么都不用干!勾个协议就搞定了。

2.3 启动

第一次启动的时候,会提示Hyper-V没有开启,点击OK电脑会重启。

电脑重启后Docker就可以正常启用了,右下角小图标会有一个小鲸鱼在动,等小鲸鱼动完了停下来就启动成功了。

3. 使用

3.1 通过PowerShell

接下来可以用CMD命令行窗口或者PowerShell来开始使用,推荐PowerShell。

打开PowerShell。

3.2 查看版本

查看docker的版本:docker –version
查看docker compose的版本:docker-compose –version
查看docker machine的版本:docker-machine –version

3.3 使用示例

  • 启动Shell(PowerShell或其它Shell)
  • 运行docker命令, 例如 docker ps,docker version,和 docker info。

  • 尝试执行 docker run hello-world 来测试从 Docker Hub 上拉取一个镜像并运行该容器。这是一个hello world demo,运行成功说明docker工作正常。

  • 尝试执行 docker run -it ubuntu bash 运行一个Ubuntu镜像。成功之后直接启动Ubuntu并进入到了系统中,exit可以退出返回到shell。

  • 执行命令下载并启动一个 Nginx容器;命名为 webserver。
    docker run -d -p 80:80 –name webserver nginx

    因为是默认的80端口,浏览器中直接打开localhost,可以看到:

    说明Nginx服务已经开启了。

    这个时候如果再运行 docker ps 可以看到运行着一个Nginx容器;是的,docker可以允许只单独运行一个独立的容器,可以是Nginx,Apache,Ubuntu等等。

    这个Nginx服务会一直在容器中运行,直到你停止或者删除容器。(Docker的核心概念镜像,容器,仓库;我们必须知道容器是镜像的运行实例)

    可以通过 docker stop webserver 停止Nginx(NAMES是webserver);通过 docker start webserver 开启服务。

  • 停止并移除运行中的容器,可以通过命令: docker rm -f webserver
    该命令会删除这个容器,但是不会删除镜像。
    通过命令:docker images 可以查看当前本地的所有 Docker 镜像。

    下次要使用这些镜像来创建容器的时候,就不需要从 Docker Hub 上去下载了,可以直接从本地拿来用。

    不再需要的可以通过命令删除:docker rmi [镜像id或者镜像名]例如:docker rmi nginx

  • 在进行以上步奏run 镜像的时候,如果本地没有镜像,会到远程下载。官方仓库在国内可能会连接失败,可以配置为阿里云的加速镜像地址。(看下面的配置)

4. 配置

4.1 配置阿里云镜像

阿里云Docker镜像的地址:https://cr.console.aliyun.com/
可以得到一个专属的地址:

1)通过客户端直接配置

打开settings -> Daemon,在 Resgistry mirrors 注册一个镜像地址,将专属地址写进去:

确定应用后,Docker会自动重启。

2)创建 docker machine 方式配置

创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址:

docker-machine create –engine-registry-mirror=https://kab482al.mirror.aliyuncs.com -d virtualbox default

查看机器的环境配置,并配置到本地,并通过Docker客户端访问Docker服务:

docker-machine env default
eval “$(docker-machine env default)”
docker info