2014-03-03 207 views
8

我在困難的時候圍繞着Docker的可能性,所以請原諒我在這裏的無知:是否可以直接向AWS部署Docker鏡像?

我可以獲取我創建的數據庫服務器的Docker鏡像,並直接部署到新鮮的EC2服務器通過某種機制?或者,我將不得不創建EC2服務器,然後在服務器上安裝Docker,然後將映像拉入服務器等。

我也完全可以爲必須編寫額外代碼的任何部分處理。我只是不確定它是否可能。

我是否誤解了Docker的有用性的最大範圍?

+1

Packer.io從docker構建機器映像,可以將其部署到AWS,VMWare或其他運行時環境。 – Bijan

+1

截至2015年,亞馬遜現在提供EC2容器服務[ECS](https://console.aws.amazon.com/ecs/home?region=us-east-1),允許直接部署Docker容器。 – akhmed

回答

5

最簡單的方法就是照你所說做(創建EC2實例,安裝Docker,拉圖像,運行圖像)。

如果你想擺脫LXC的開銷(這是非常小反正),有多種解決方案:

  • 可以使用docker export生成容器的根文件的壓縮包,解壓EC2實例上的tarball,以及chroot;
  • 你可以添加一個chroot運行時間到Docker,做到這一點,但以自動方式(每個docker run將映射到chroot);
  • 如果Docker鏡像是從Dockerfile構建的,則可以嘗試將FROM行映射到基礎EC2 AMI,然後手動應用Dockerfile(或通過例如cloudinit)。

這是很有誘惑力的嘗試獲取本機映像(與最後的解決方案),但它也是最不可靠的解決方案,因爲沒有辦法有泊塢窗基本圖像和EC2基礎圖像之間的可靠映射。

如果你所有的基地都是例如Ubuntu,你可能已經很成功地將Dockerfiles轉換爲cloudinit模板;但我會親自選擇選項1或2.

相關問題