非常教程

Docker 17参考手册

机器 | Machine

配置AWS EC2实例(机器) | Provision AWS EC2 instances (Machine)

试用Docker Cloud!我们建议使用Docker Cloud作为在您的云提供商上运行Docker的最新方式。要开始,请参阅Docker Cloud文档主页,Docker Cloud Settings和Docker ID,Docker Cloud(Beta)中的Swarms以及将Amazon Web Services连接到Docker Cloud。如果您正在运行适用于Mac或Windows的Edge通道Docker,则可以从这些Docker桌面应用程序访问您的Docker Cloud帐户。请参阅Mac或Windows上的Docker Cloud(Edge功能)。Docker机器仍然可以按照此处所述的方式工作,但Docker Cloud为此目的而取代机器。

请跟随此示例来创建一个Docker化Amazon Web Services(AWS) EC2实例。

步骤1.注册AWS并配置凭据

  1. 如果您还不是AWS用户,请注册AWS若要创建帐户并获取对EC2云计算机的根访问权限,请执行以下操作。 如果您有一个Amazon帐户,您可以使用它作为您的根用户帐户。
  1. 创建与区域关联的IAM(身份和访问管理)管理员用户,管理员组和密钥对。

从AWS菜单中选择服务>IAM开始吧。

要在AWS上创建机器,必须提供两个参数:

-  an AWS Access Key ID

-  an AWS Secret Access Key

请参阅使用AmazonEC 2设置遵循“创建IAM用户”和“创建密钥对”的步骤。

步骤2.使用机器创建实例

  1. 或者,创建一个AWS凭证文件。您可以创建一个~/.aws/credentials文件来保存您的AWS密钥,以便您不必在每次运行docker-machine create命令时都键入它们。这是一个凭证文件的例子。默认aws_access_key_id = AKID1234567890 aws_secret_access_key = MY-SECRET-KEY
  1. 运行docker-machine createamazonec2驱动程序,你的钥匙,并为新的实例的名称。

使用凭据文件

如果您在凭证文件中指定了您的密钥,则此命令将如下所示创建一个名为的实例aws-sandbox

  docker-machine create --driver amazonec2 aws-sandbox 

在命令行指定键

如果您没有凭据文件,可以使用这些标志--amazonec2-access-key--amazonec2-secret-key在命令行上:

  $ docker-machine create --driver amazonec2 --amazonec2-access-key AKI\*\*\*\*\*\*\* --amazonec2-secret-key 8T93C\*\*\*\*\*\*\*  aws-sandbox 

指定区域

默认情况下,驱动程序在us-east-1(北弗吉尼亚州)区域创建新实例。您可以使用该--amazonec2-region标志指定不同的区域。例如,该命令在us-west-1(北加利福尼亚州)创建一台名为“aws-01”的机器。

  $ docker-machine create --driver amazonec2 --amazonec2-region us-west-1 aws-01 
  1. 转到AWS EC2仪表板查看新实例。使用您的IAM凭证登录AWS,然后导航到您的EC2运行实例。

配置AWS EC2实例(机器)  |  Provision AWS EC2 instances (Machine)

注意:确保您从右上角的菜单中正确设置区域; 否则,你将看不到新的实例。如果您没有将区域指定为docker-machine create(使用可选--amazonec2-region标志)的一部分,那么该区域将是US East,这是默认设置。

  1. 在命令终端上运行docker-machine ls

$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS aws-sandbox * amazonec2运行tcp://52.90.113.128:2376 v1.10.0默认 - virtualbox运行tcp://192.168.99.100:2376 v1.10.0-rc4 aws -sandbox - digitalocean运行tcp://104.131.43.236:2376 v1.9.1

aws-sandbox实例正在运行,并且它是活动主机,如星号(*)所示。当你创建一台新机器时,你的命令行程序会自动连接到它。如果由于某种原因,您的新机器不是活动主机,您需要运行docker-machine env aws-sandbox,然后eval $(docker-machine env aws-sandbox)连接到它。

步骤3.在实例上运行Docker命令

  1. 运行一些docker-machine命令来检查远程主机。例如,docker-machine ip <machine>获取主机IP地址并docker-machine inspect <machine>列出所有详细信息。$ docker-machine ip 192.168.99.100 $ docker-machine inspect aws-sandbox {“ConfigVersion”:3,“Driver”:{“IPAddress”:“52.90.113.128”,“MachineName”:“aws-sandbox”,“SSHUser “:”ubuntu“,”SSHPort“:22,...
  1. 通过运行验证码头引擎是否正确安装docker命令。

从一些基本的东西开始,比如docker run hello-world,或者为了进行更有趣的测试,请在新的远程计算机上运行一个Dockerizedwebserver。

注意:我们8000在此示例中使用端口,并且该端口已添加到与docker-machine关联的AWS Security Group。如果您想在另一个端口上运行容器,则需要更新安全组以反映该问题。

在此示例中,该-p选项用于从nginx容器中公开端口80,并使其可以在主机的端口8000上访问aws-sandbox

$ docker run -d -p 8000:80 - 名称webserver kitematic / hello-world-nginx无法找到本地最新的图像'kitematic / hello-world-nginx:latest':从kitematic / hello-world-nginx中拉出a285d7f063ea:拉完成2d7baf27389b:拉完成...摘要:sha256:ec0ca6dcb034916784c988b4f2432716e2e92b995ac606e080c7a54b52b87066状态:下载较新的形象为kitematic / hello-world-nginx:最新的942dfb4a0eaae75bf26c9785ade4ff47ceb2ec2a152be82b9d7960e8b5777e65

在Web浏览器中,转到调http://<host_ip>:8000出Web服务器主页。您<host_ip>docker-machine ip <machine>上一步中运行的命令的输出中获得了该信息。使用您在该docker run命令中公开的端口。

配置AWS EC2实例(机器)  |  Provision AWS EC2 instances (Machine)

步骤4.使用机器删除实例

要删除实例及其所有容器和图像,请先停止机器,然后使用docker-machine rm

  $ docker-machine stop aws-sandbox
  $ docker-machine rm aws-sandbox
  Do you really want to remove "aws-sandbox"? (y/n): y
  Successfully removed aws-sandbox ## Where to go next
  • 理解机器概念
  • Docker机器驱动程序参考
  • Docker机器子命令参考
  • 使用Docker Machine配置Docker Swarm集群

docker,机器,云,aws

机器 | Machine相关

1.亚马逊网络服务(机器) | Amazon Web Services (Machine)
2.数字海洋(机器) | Digital Ocean (Machine)
3.docker机器活动 | docker-machine active
4.docker机器配置 | docker-machine config
5.docker机器创建 | docker-machine create
6.docker-machine env
7.docker机器助手 | docker-machine help
8.docker机器检查 | docker-machine inspect
9.docker-machine ip
10.docker-machine kill
11.docker-machine ls
12.docker机器规定 | docker-machine provision
13.docker机器再生 | docker-machine regenerate-certs
14.docker机器重启 | docker-machine restart
15.docker-machine rm
16.docker-machine scp
17.docker-machine ssh
18.docker-machine start
19.docker-machine status
20.docker-machine stop
21.docker-machine upgrade
22.docker-machine url
23.驱动程序选项和操作系统默认值 | Driver options and operating system defaults (Machine)
24.驱动总览 | Drivers overview (Machine)
25.Exoscale (Machine)
26.通用 | Generic (Machine)
27.开始使用本地VM | Get started with a local VM (Machine)
28.谷歌电脑引擎 | Google Compute Engine (Machine)
29.IBM Softlayer (Machine)
30.安装机器 | Install Machine
31.机器 | Machine
32.机器CLI概述 | Machine CLI overview
33.机器命令行完成 | Machine command-line completion
34.机器概念和帮助 | Machine concepts and help
35.机器总览 | Machine overview
36.Microsoft Azure (Machine)
37.Microsoft Hyper-V (Machine)
38.从Boot2Docker迁移到Machine | Migrate from Boot2Docker to Machine
39.OpenStack (Machine)
40.Oracle VirtualBox (Machine)
41.提供数字海洋 | Provision Digital Ocean Droplets (Machine)
42.在云中配置主机 | Provision hosts in the cloud (Machine)
43.Rackspace (Machine)
44.VMware Fusion (Machine)
45.VMware vCloud Air (Machine)
46.VMware vSphere (Machine)
Docker 17

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

主页 https://docker.com/
源码 https://github.com/docker/docker
版本 17
发布版本 17.06