回答

0

對不起,您知道您正在面臨此問題。 Elastic Beanstalk環境創建包括創建大量資源,如自動調節組,EC2實例,安全組,Elastic Load Balancer等。在該軟件安裝到您的Beanstalk實例上之後。我假設你只是在討論beanstalk上軟件安裝(docker build)的緩慢性。

如果你只是運行mkdir應該不會很慢。它應該是相當快的。

但是,如果您認爲Docker構建整體運行速度很慢,可能是由於IO密集型操作造成的。

你可以嘗試的一件事是使用EBS provisioned IOPs with Elastic Beanstalk。 瞭解更多關於SSD實例here

你可以嘗試啓動一個新的環境與SSD實例,看看碼頭建設是否仍然緩慢?如果你可以顯示一個需要很長時間構建的示例dockerfile,我可以嘗試一下。

+0

無論哪種方式,一個簡單的'RUN mkdir〜/ asd'需要很長時間。這應該與EBS引導相關的東西無關。我懷疑FS是否真的是阻塞因素,因爲我可以運行apt-get,並且它可以很快獲取東西。 – 2014-09-21 22:56:40

+0

此外,您的dockerfile包含的基礎碼頭圖像需要下載(可能很容易爲幾百個100MB)。這需要首次在每個EC2實例上下載。你認爲這是造成最初的緩慢嗎?您可以運行'docker images'來查看當前正在下載的圖像。 – 2014-09-22 04:34:53

+0

這些是RUN命令。初始圖像下載完成後會發生這種情況。 – 2014-09-22 07:25:09

8

與在AWS上運行的Ubuntu計算機相同的問題。原來解決方案的關鍵是從devicemapper切換到aufs存儲後端。

首先,運行下面的命令找出哪些存儲後端你目前使用的:

docker info | grep Storage

如果說devicemapper,你可能發現了緩慢的原因。

下面是切換到aufs的後端在Ubuntu,從here採取prodecure:

  1. sudo apt-get install -y -q linux-image-extra-$(uname -r)
  2. sudo service docker restart

注意,您必須重建所有現有的圖像/容器,因爲它們將在您切換到aufs時被擦除。

+2

令人驚歎。它現在快了上千倍,你節省了我的一天。 – 2016-01-19 18:09:30

+0

注意:基於Amazon Linux的AMI使用yum命令而不是apt-get。 http://stackoverflow.com/questions/14045262/how-to-fix-apt-get-command-not-found-on-aws-ec2 – 2016-05-20 11:17:09

+0

什麼是AWS Linux的軟件包名稱? – noli 2016-06-30 00:32:43

相關問題