我遇到了码头工人的一些奇怪之处。 我有一个在Windows Azure中运行的Ubuntu服务器VM。 如果我启动一个新的docker容器,例如像这样的Wordpress:
sudo docker run --name some-wordpress --link some-mysql:mysql -p 80:80 -d wordpress
一切都很顺利,考虑到低端虚拟机设置,我得到了一个合理的网站。
但是,如果我重新启动VM,并启动容器:
sudo docker start some-mysql
sudo docker start some-wordpress
整个过程非常缓慢,单个页面的响应时间可达2-4秒。
删除容器并启动新容器会使一切正常运行。
导致这种情况的原因是什么?
答案 0 :(得分:2)
我怀疑它与磁盘使用有关,MySQL容器是否使用本地磁盘进行存储?重新启动现有docker容器时,可以重用现有卷,通常存储在/ var / lib / docker的子文件夹中,而新容器会创建新卷。
我发现一些搜索结果表明Linux上的Linux无法处理" soft"重新启动很好,那些东西没有按照它应该重新连接。 A"硬"据说重启可以解决这个问题。
不确定是否有帮助,我的Docker体验全部来自AWS。
答案 1 :(得分:1)
您的容器正在磁盘上运行,该磁盘存储在每个磁盘max. 500 IOPS的blob存储中。您可以避免命中磁盘(对MySQL来说不太现实)或添加更多磁盘以用于条带化(RAID0)或使用SSD(Azure中的D系列)并且根据您的使用情况,您可能还完全重新定义Docker使用临时存储(/ dev / sdb) - 这里是how for CoreOS。顺便说一下,azure.com中有一些MySQL性能(非Docker)建议。