?
This document uses PHP Chinese website manual Release
試用Docker Cloud!我們建議使用Docker Cloud作為在您的云提供商上運(yùn)行Docker的最新方式。要開(kāi)始,請(qǐng)參閱Docker Cloud文檔主頁(yè),Docker Cloud Settings和Docker ID,Docker Cloud(Beta)中的Swarms以及將Amazon Web Services連接到Docker Cloud。如果您正在運(yùn)行適用于Mac或Windows的Edge通道Docker,則可以從這些Docker桌面應(yīng)用程序訪(fǎng)問(wèn)您的Docker Cloud帳戶(hù)。請(qǐng)參閱Mac或Windows上的Docker Cloud(Edge功能)。Docker機(jī)器仍然可以按照此處所述的方式工作,但Docker Cloud為此目的而取代機(jī)器。
請(qǐng)跟隨此示例來(lái)創(chuàng)建一個(gè)Docker化Amazon Web Services(AWS) EC2實(shí)例。
如果您還不是AWS用戶(hù),請(qǐng)注冊(cè)AWS若要?jiǎng)?chuàng)建帳戶(hù)并獲取對(duì)EC2云計(jì)算機(jī)的根訪(fǎng)問(wèn)權(quán)限,請(qǐng)執(zhí)行以下操作。 如果您有一個(gè)Amazon帳戶(hù),您可以使用它作為您的根用戶(hù)帳戶(hù)。
創(chuàng)建與區(qū)域關(guān)聯(lián)的IAM(身份和訪(fǎng)問(wèn)管理)管理員用戶(hù),管理員組和密鑰對(duì)。
從AWS菜單中選擇服務(wù)>IAM開(kāi)始吧。
要在AWS上創(chuàng)建機(jī)器,必須提供兩個(gè)參數(shù):
- an AWS Access Key ID- an AWS Secret Access Key
請(qǐng)參閱使用AmazonEC 2設(shè)置遵循“創(chuàng)建IAM用戶(hù)”和“創(chuàng)建密鑰對(duì)”的步驟。
或者,創(chuàng)建一個(gè)AWS憑證文件。您可以創(chuàng)建一個(gè)~/.aws/credentials
文件來(lái)保存您的AWS密鑰,以便您不必在每次運(yùn)行docker-machine create
命令時(shí)都鍵入它們。這是一個(gè)憑證文件的例子。默認(rèn)aws_access_key_id = AKID1234567890 aws_secret_access_key = MY-SECRET-KEY
運(yùn)行docker-machine create
與amazonec2
驅(qū)動(dòng)程序,你的鑰匙,并為新的實(shí)例的名稱(chēng)。
使用憑據(jù)文件
如果您在憑證文件中指定了您的密鑰,則此命令將如下所示創(chuàng)建一個(gè)名為的實(shí)例aws-sandbox
:
docker-machine create --driver amazonec2 aws-sandbox
在命令行指定鍵
如果您沒(méi)有憑據(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ū)動(dòng)程序在us-east-1(北弗吉尼亞州)區(qū)域創(chuàng)建新實(shí)例。您可以使用該--amazonec2-region
標(biāo)志指定不同的區(qū)域。例如,該命令在us-west-1(北加利福尼亞州)創(chuàng)建一臺(tái)名為“aws-01”的機(jī)器。
$ docker-machine create --driver amazonec2 --amazonec2-region us-west-1 aws-01
轉(zhuǎn)到AWS EC2儀表板查看新實(shí)例。使用您的IAM憑證登錄AWS,然后導(dǎo)航到您的EC2運(yùn)行實(shí)例。
注意:確保您從右上角的菜單中正確設(shè)置區(qū)域; 否則,你將看不到新的實(shí)例。如果您沒(méi)有將區(qū)域指定為docker-machine create
(使用可選--amazonec2-region
標(biāo)志)的一部分,那么該區(qū)域?qū)⑹荱S East,這是默認(rèn)設(shè)置。
在命令終端上運(yùn)行docker-machine ls
。
$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS aws-sandbox * amazonec2運(yùn)行tcp://52.90.113.128:2376 v1.10.0默認(rèn) - virtualbox運(yùn)行tcp://192.168.99.100:2376 v1.10.0-rc4 aws -sandbox - digitalocean運(yùn)行tcp://104.131.43.236:2376 v1.9.1
新aws-sandbox
實(shí)例正在運(yùn)行,并且它是活動(dòng)主機(jī),如星號(hào)(*)所示。當(dāng)你創(chuàng)建一臺(tái)新機(jī)器時(shí),你的命令行程序會(huì)自動(dòng)連接到它。如果由于某種原因,您的新機(jī)器不是活動(dòng)主機(jī),您需要運(yùn)行docker-machine env aws-sandbox
,然后eval $(docker-machine env aws-sandbox)
連接到它。
運(yùn)行一些docker-machine
命令來(lái)檢查遠(yuǎn)程主機(jī)。例如,docker-machine ip <machine>
獲取主機(jī)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,...
通過(guò)運(yùn)行驗(yàn)證碼頭引擎是否正確安裝docker
命令。
從一些基本的東西開(kāi)始,比如docker run hello-world
,或者為了進(jìn)行更有趣的測(cè)試,請(qǐng)?jiān)谛碌倪h(yuǎn)程計(jì)算機(jī)上運(yùn)行一個(gè)Dockerizedwebserver。
注意:我們8000
在此示例中使用端口,并且該端口已添加到與docker-machine關(guān)聯(lián)的AWS Security Group。如果您想在另一個(gè)端口上運(yùn)行容器,則需要更新安全組以反映該問(wèn)題。
在此示例中,該-p
選項(xiàng)用于從nginx
容器中公開(kāi)端口80,并使其可以在主機(jī)的端口8000
上訪(fǎng)問(wèn)aws-sandbox
。
$ docker run -d -p 8000:80 - 名稱(chēng)webserver kitematic / hello-world-nginx無(wú)法找到本地最新的圖像'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ù)器主頁(yè)。您<host_ip>
從docker-machine ip <machine>
上一步中運(yùn)行的命令的輸出中獲得了該信息。使用您在該docker run
命令中公開(kāi)的端口。
要?jiǎng)h除實(shí)例及其所有容器和圖像,請(qǐng)先停止機(jī)器,然后使用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
理解機(jī)器概念
Docker機(jī)器驅(qū)動(dòng)程序參考
Docker機(jī)器子命令參考
使用Docker Machine配置Docker Swarm集群