2017-07-17 158 views
3

我在我的AWS ECR中有一個Docker鏡像,我想將它轉換爲AWS AMI以創建一個帶有環境的實例。是否可以從Docker鏡像創建AWS AMI?

原因試圖在泊塢容器

我必須在我的碼頭工人容器上的一些文本文件運行m4.xlarge實例內部計算密集型任務,ML使用的AMI。但是,對於Docker,實例的CPU利用率達到100%,並且該腳本被過早殺死。

但是,它在Docker外部的相同實例中運行良好。


所以,我想搬到AMI的從碼頭工人,但我也想利用碼頭工人對環境的創建和它使我在本地測試的速度。

那麼,是否有可能通過我測試並部署到我的ECS註冊表的Docker鏡像創建AMI?

+0

這是構建AMI的標準工具:https://www.packer.io。我很確定它是按照你所描述的。 –

+0

聽起來就像在CPU資源限制中運行一樣。這是運行Docker的EC2實例還是AWS ECS?談到ECR意味着你可能會使用ECS。 ECS將每臺主機分成1024個cpu'份額'。 如果您運行時配置了硬盤cpu限制,那麼在共享總數下,您不應該看到問題 –

回答

0

這看起來似乎是泊塢窗圖像或碼頭工具存在問題或配置錯誤。 你提到實例在docker外部運行相同的腳本沒有問題? 那麼最好使用正在運行的腳本創建實例的AMI,並且根本不需要docker。 在docker中運行腳本可能最多意味着docker配置限制CPU,但不是主機CPU達到100%並殺死腳本。 您應該嘗試運行具有相同圖像的泊塢窗容器,但在sleep10000運行時,可以在容器內運行,運行感興趣的腳本並查看失敗的原因。

0

雖然有一個開源工具可以從docker文件創建/構建AWS AMI,但只支持ENV,RUN,COPY和ADD等指令,但沒有直接的方法可以創建AWS AMI以外的Docker鏡像。說明將被忽略。

開源工具構建AWS AMI從泊塢文件

https://github.com/mickep76/docker-build-ami

https://pypi.python.org/pypi/docker-build-ami/0.1.3

所以,如果你是在嘗試繼續與創建從一個適當的泊塢窗文件真正感興趣的你碼頭形象。對於您可以參考以下鏈接

Is it possible to extract the Dockerfile from a docker container

How to generate a Dockerfile from an image?

相關問題