注意:这个Docker的发行版本不建议使用Boot2Docker命令行,建议使用Docker Machine。使用Docker Toolbox安装Docker Machine跟安装其他Docker工具一样。
你可以使用Docker Toolbox安装Docker。Docker Toolbox包含如下的Docker 工具:
docker-machine
可执行包docker
可执行包docker-compose
可执行包
因为Docker Daemon使用了Linux一个内核特性,原生的OS X系统不能直接运行Docker。折中的解决方案,你必须使用 docker-machine
去创建并连接到一个虚拟机上(VM)。这个VM会为你的Mac提供Docker运行环境。
Docker 虚拟机是轻量Linux额虚拟机,专门用于在Windows上运行Docker Daemon。VM(虚拟机)完全运行在内存里,它非常小,大约只有24MB,只需约5S就可以启动。
你的机器必须是运行了 Windows 7,8/8.1 或更新的操作系统并启动Docker。目前,还不支持 Windows 10。查看你的Windows版本信息:
右击Windows控制面板选项系统。
译者注:在微软的查看系统有很多种方法,大家不要局限于上面的方式,选择你喜欢的方式就OK。
如果你正在使用的系统不支持,为了能正常使用Docker,你应该考虑升级你的操作系。
确保你的CPU 支持虚拟化技术并启用BIOS的虚拟化支持。
选择 Start(开始) > Task Manager(任务管理) 并切换到 Performance(性能) 选卡。在 CPU 的下方,你应该看到如下信息:
在你的系统上,如果虚拟化没有被开启。以下的厂商的指令可以开启它。
运行微软® 硬件辅助虚拟化检测工具和屏幕中的指令。
注意:如果你已经拥有了一个正在运行的Docker主机,且你有不希望安装一个Docker ToolBox,你可以使用非官方的Windows包管理器(Chocolatey)安装
docker.exe
。如何操作,请移步到Docker package on Chocolatey。
Docker 在Linux上安装过程里,你的物理机器既是本地主机也是Docker的宿主机。在网络里,本地主机的意思是你的计算机。Docker的宿主机是托管这容器运行的计算机。
在一个标准的Linux安装中,Docker客户端、Docker Daemon和一些运行中的容器会直接寄托在你的本地主机上。这意味着你可以使用标准的本地地址和端口去访问容器,例如, localhost:8000
或 0.0.0.0:8376
。
在一个 Windows 安装里,docker
daemon(守护进程)会运行在一个Linux虚拟机的内部。你可以使用Windows Docker客户端与Docker 虚拟主机进行通信。你的Docker 容器运行在这个主机内部。
在Windows里面,Docker 宿主机的地址跟Linux虚拟一样。当你使用 docker-machine
启动Linux虚拟机是,它会分配一个IP地址。当你启动一个容器是,容器上的端口会映射到虚拟机的端口上。
如果你已经运行了 VirtualBox,在安装前,你必须停止它。
打开 Docker Toolbox 主页。
点击安装程序连接去下载。
双击安装包或通过右键弹出的菜单选择 "打开(Openning)" 启动安装。
安装程序启动后,会弹出 “Install Docker Toolbox” 对话框。
按下 “Next” 安装 toolbox。
安装程序会给你提供选项来定制标准的安装。默认情况下,标准的 Docker Toolboxthe 会安装如下工具:
C:\Program Files\Docker Toolbox
文件里。PATH
环境变量以上都是默认安装设置。
按下 “Next” 直到你到达 “Ready to Install” 页面。
系统提示你输入密码。
按下 “Install” 继续安装。
当完成安装后,安装程序会给提供一些常用的操作任务,以便你可以快速的体验。
点击 “Finish” 完成安装。
为了运行一个Docker容器,你需要如下步骤:
docker
客户端创建、加载和管理容器当你创建一个机器时,如果你喜欢,你可以随时重用它。正如所有的VirtualBox虚拟机一样。
这里有两种方式可以使用你已经安装的工具,从Docker 快速终端或从你的shell。
在你的桌面找到Docker 快速启动终端的图标并双击启动它。
应用执行流程:
default
虚拟机,如果它不存在,并启动虚拟机 当启动完成后,你可以执行 docker
命令。
通过运行 hello-world
容器,核实你的配置是否成功。
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
511136ea3c5a: Pull complete
31cbccb51277: Pull complete
e45a5af57b00: Pull complete
hello-world:latest: The image you are pulling has been verified.
Important: image verification is a tech preview feature and should not be
relied on to provide security.
Status: Downloaded newer image for hello-world:latest
Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(Assuming it was not already locally available.)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
For more examples and ideas, visit:
http://docs.docker.com/userguide/
启动一个Windows 命令提示终端(cmd.exe)。
docker-machine
命令需要 ssh.exe
在你的 PATH
环境变量。这个 .exe
在 MsysGit bin
文件夹里。
通过执行如下指令,添加它到 %PATH%
环境变量里:
set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"
创建一个新的 Docker 虚拟机。
docker-machine create --driver virtualbox my-default
Creating VirtualBox VM...
Creating SSH key...
Starting VirtualBox VM...
Starting VM...
To see how to connect Docker to this machine, run: docker-machine env my-default
这条命令也创建了一个机器配置文件,在 C:\USERS\USERNAME\.docker\machine\machines
目录里。你只需运行一次 create
命令。之后,你可以在命令行里,使用 docker-machine
去启动、停止、查询和其他管理虚拟机。
列出你的可用机器
C:\Users\mary> docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
my-default * virtualbox Running tcp://192.168.99.101:2376
如果你以前安装了被弃用的Boot2Docker 应用或运行Docker 快速启动终端,你可能还有一个 dev
的虚拟机。当你创建了default
虚拟机,docker-machine
命令会提供指令去学习如何连接虚拟机。
获取你的新虚拟机的环境命令。
C:\Users\mary> docker-machine env --shell cmd my-default
连接你的 shell 到 my-default
机器上。
C:\Users\mary> eval "$(docker-machine env my-default)"
运行 hello-world
容器去核实你的配置。
C:\Users\mary> docker run hello-world
启动一个Windows PowerShell窗口。
添加 ssh.exe
到你的PATH上:
PS C:\Users\mary> $Env:Path = "${Env:Path};c:\Program Files (x86)\Git\bin"
创建一个新的Docker虚拟机。
PS C:\Users\mary> docker-machine create --driver virtualbox my-default
列出你可用的机器。
C:\Users\mary> docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
my-default * virtualbox Running tcp://192.168.99.101:2376
获取你的新虚拟机的环境命令。
C:\Users\mary> docker-machine env --shell powershell my-default
连接你的shell到 my-default
机器。
C:\Users\mary> eval "$(docker-machine env my-default)"
运行 hello-world
容器去核实你的配置。
C:\Users\mary> docker run hello-world
Toolbox 安装了Docker 引擎二进制包,它会被存放 C:\Program Files\Docker Toolbox
目录里。当你使用Docker 快速启动终端或手动创建一个 default
虚拟机时,Docker Machine 会更新 C:\USERS\USERNAME\.docker\machine\machines\default
文件夹到你的系统。这个文件夹包含虚拟机的配置文件。
你可以创建多个虚拟机,使用Docker Machine 在你的系统上。因此,你可能得到多个虚拟机文件夹,如果你拥有多个虚拟机。移除一个虚拟机,可以使用 docker-machine rm
命令。
如果你之前使用 Boot2Docker,你拥有一个Docker boot2docker-vm
虚拟机,在你的本地系统上。如果你想让Docker Machine 去管理旧的虚拟机,你可以迁移它。
打开一个终端或Docker CLI(命令行接口),在你的系统上。
输入如下命令:
$ docker-machine create -d virtualbox --virtualbox-import-boot2docker-vm boot2docker-vm docker-vm
使用 docker-machine
命令发起虚拟的迁移通信。
docker-machine
子命令与 boot2docker
有稍许的差异。如下列表中列出了 docker-machine
等同的子命令:
boot2docker | docker-machine | docker-machine描述 |
---|---|---|
init | create | 创建一个新的docker主机 |
up | start | 启动一个停止的机器 |
ssh | ssh | 运行一个命令或互动ssh回话,在机器上。 |
save | - | 没有对等指令 |
down | stop | 停止一个运行中的机器 |
poweroff | stop | 停止一个运行中的机器 |
reset | restart | 重启一个运行中的机器 |
config | inspect | 打印机器的配置详情 |
status | ls | 列出所有机器和他们的状态 |
info | inspect | 显示一个机器的详情 |
ip | ip | 显示机器的 ip 地址 |
shellinit | env | 显示你跟机器交互配置的shell指令 |
delete | rm | 删除一个机器 |
download | - | 没有对等指令 |
upgrade | upgrade | 更新一个机器的Docker客户端到一个最新稳定版本 |
如果你对虚拟机给Docker分配的默认 docker
用户名和 tcuser
密码感到“不爽”。docker-machine
最新版只是给Docker 设置一个主机网络适配器,它提供访问容器的端口服务。
如果运行想运行一个带发布端口的容器,可以这样做:
$ docker run --rm -i -t -p 80:80 nginx
之后,使用IP地址你应该可以访问到这个nginx服务,使用如下命令查看IP:
$ docker-machine ip
通常,IP 是192.168.59.103,但是,你可以修改Virtualbox的DHCP实现来修改它。
Docker Machine 生成并使用公匙/密匙对,在你的 %USERPROFILE%\.ssh
目录里。所以,要成功登录,你必须从相同的目录获得有效的密匙。这个密匙必须转换成PuTTY的格式。你可以使用puttygen做到:
启动 puttygen.exe
并加载(“File”->“Load” menu) 密匙
%USERPROFILE%\.docker\machine\machines\
点击 “Save Private Key”(保存密匙)。
PuTTY 执行 [email protected]:2022
并使用上面保存的问价完成登录。
你可以使用Windows的标准删除进程卸载Docker Toolbox。这个进程不会自动移除 docker-install.exe
问价。你必须自己去删除这个文件。
你可以通过 Docker用户指南继续学习。如果你Kitematic GUI的使用感兴趣,请移步到Kitematic用户指南。