?
This document uses PHP Chinese website manual Release
試用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桌面應(yīng)用程序訪問您的Docker Cloud帳戶。請參閱Mac或Windows上的Docker Cloud(Edge功能)。Docker機器仍然可以按照此處所述的方式工作,但Docker Cloud為此目的而取代機器。
請跟隨此示例來創(chuàng)建一個Docker化Amazon Web Services(AWS) EC2實例。
如果您還不是AWS用戶,請注冊AWS若要創(chuàng)建帳戶并獲取對EC2云計算機的根訪問權(quán)限,請執(zhí)行以下操作。 如果您有一個Amazon帳戶,您可以使用它作為您的根用戶帳戶。
創(chuàng)建與區(qū)域關(guān)聯(lián)的IAM(身份和訪問管理)管理員用戶,管理員組和密鑰對。
從AWS菜單中選擇服務(wù)>IAM開始吧。
要在AWS上創(chuàng)建機器,必須提供兩個參數(shù):
- an AWS Access Key ID- an AWS Secret Access Key
請參閱使用AmazonEC 2設(shè)置遵循“創(chuàng)建IAM用戶”和“創(chuàng)建密鑰對”的步驟。
或者,創(chuàng)建一個AWS憑證文件。您可以創(chuàng)建一個~/.aws/credentials
文件來保存您的AWS密鑰,以便您不必在每次運行docker-machine create
命令時都鍵入它們。這是一個憑證文件的例子。默認(rèn)aws_access_key_id = AKID1234567890 aws_secret_access_key = MY-SECRET-KEY
運行docker-machine create
與amazonec2
驅(qū)動程序,你的鑰匙,并為新的實例的名稱。
使用憑據(jù)文件
如果您在憑證文件中指定了您的密鑰,則此命令將如下所示創(chuàng)建一個名為的實例aws-sandbox
:
docker-machine create --driver amazonec2 aws-sandbox
在命令行指定鍵
如果您沒有憑據(jù)文件,可以使用這些標(biāo)志--amazonec2-access-key
和--amazonec2-secret-key
在命令行上:
$ docker-machine create --driver amazonec2 --amazonec2-access-key AKI\*\*\*\*\*\*\* --amazonec2-secret-key 8T93C\*\*\*\*\*\*\* aws-sandbox
指定區(qū)域
默認(rèn)情況下,驅(qū)動程序在us-east-1(北弗吉尼亞州)區(qū)域創(chuàng)建新實例。您可以使用該--amazonec2-region
標(biāo)志指定不同的區(qū)域。例如,該命令在us-west-1(北加利福尼亞州)創(chuàng)建一臺名為“aws-01”的機器。
$ docker-machine create --driver amazonec2 --amazonec2-region us-west-1 aws-01
轉(zhuǎn)到AWS EC2儀表板查看新實例。使用您的IAM憑證登錄AWS,然后導(dǎo)航到您的EC2運行實例。
注意:確保您從右上角的菜單中正確設(shè)置區(qū)域; 否則,你將看不到新的實例。如果您沒有將區(qū)域指定為docker-machine create
(使用可選--amazonec2-region
標(biāo)志)的一部分,那么該區(qū)域?qū)⑹荱S East,這是默認(rèn)設(shè)置。
在命令終端上運行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默認(rèn) - 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
實例正在運行,并且它是活動主機,如星號(*)所示。當(dāng)你創(chuàng)建一臺新機器時,你的命令行程序會自動連接到它。如果由于某種原因,您的新機器不是活動主機,您需要運行docker-machine env aws-sandbox
,然后eval $(docker-machine env aws-sandbox)
連接到它。
運行一些docker-machine
命令來檢查遠(yuǎn)程主機。例如,docker-machine ip <machine>
獲取主機IP地址并docker-machine inspect <machine>
列出所有詳細(xì)信息。$ 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,...
通過運行驗證碼頭引擎是否正確安裝docker
命令。
從一些基本的東西開始,比如docker run hello-world
,或者為了進行更有趣的測試,請在新的遠(yuǎn)程計算機上運行一個Dockerizedwebserver。
注意:我們8000
在此示例中使用端口,并且該端口已添加到與docker-machine關(guān)聯(lián)的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狀態(tài):下載較新的形象為kitematic / hello-world-nginx:最新的942dfb4a0eaae75bf26c9785ade4ff47ceb2ec2a152be82b9d7960e8b5777e65
在Web瀏覽器中,轉(zhuǎn)到調(diào)http://<host_ip>:8000
出Web服務(wù)器主頁。您<host_ip>
從docker-machine ip <machine>
上一步中運行的命令的輸出中獲得了該信息。使用您在該docker run
命令中公開的端口。
要刪除實例及其所有容器和圖像,請先停止機器,然后使用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機器驅(qū)動程序參考
Docker機器子命令參考
使用Docker Machine配置Docker Swarm集群