docker build
来看看发生了什么。每一步,即使像mkdir
这样简单的事情也需要很长时间才能运行。即使WORKDIR
在执行前至少停顿一两分钟。
在我的本地机器上,这些都是即时的。发生了什么事?
答案 0 :(得分:8)
此处与在AWS上运行的Ubuntu计算机相同。事实证明解决方案的关键是从devicemapper切换到aufs存储后端。
首先,运行以下命令以确定您当前使用的存储后端:
docker info | grep Storage
如果说devicemapper
,你可能会找到缓慢的原因。
以下是从here取得的在Ubuntu中切换到aufs后端的提示:
sudo apt-get install -y -q linux-image-extra-$(uname -r)
sudo service docker restart
请注意,您必须重建所有现有的图像/容器,因为切换到aufs时将会擦除它们。
答案 1 :(得分:0)
很抱歉知道您正面临这个问题。 Elastic Beanstalk环境创建涉及创建大量资源,如自动扩展组,EC2实例,安全组,Elastic Load Balancer等。在您的beanstalk实例上安装该软件之后。我假设你只是谈论beanstalk上软件安装(docker build)的缓慢。
如果你只是运行mkdir,那应该不会很慢。它应该相当快。
但是,如果您认为整个docker build运行速度非常慢,可能是因为IO密集型操作。
您可以尝试使用EBS provisioned IOPs with Elastic Beanstalk。 阅读有关SSD实例here的更多信息。
您是否可以尝试使用SSD实例启动新环境并查看docker build是否仍然很慢?如果您可以显示一个需要很长时间才能构建的示例dockerfile,我可以尝试一下。