AWS上的Docker在以某种方式运行时填充其精简池?

时间:2017-03-28 05:34:57

标签: amazon-web-services docker amazon-ec2 filesystems elastic-beanstalk

我在AWS上的ElasticBeanstalk上有一台服务器。即使没有提取图像,精简池也会在一天之内不断填充,直到文件系统以只读方式重新安装并且应用程序死亡。

最新Amazon AMI上的Docker 1.12.6会发生这种情况。

我无法真正做出正面或反面。

当EC2实例(托管Beanstalk)启动时,它在精简池中大约有1.3GB。当我的1.2GB图像运行时,它有大约3.6GB(这是记住的信息,它非常接近这个)。好的,没关系。

切成5小时后......

(来自托管它的EC2实例)docker info返回:

Storage Driver: devicemapper
 Pool Name: docker-docker--pool
 Pool Blocksize: 524.3 kB
 Base Device Size: 107.4 GB
 Backing Filesystem: ext4
 Data file:
 Metadata file:
 Data Space Used: 8.489 GB
 Data Space Total: 12.73 GB
 Data Space Available: 4.245 GB

lvs同意。

在另外几个小时内,将使用12.73GB和0 B免费。

dmesg将报告:

[2077620.433382] Buffer I/O error on device dm-4, logical block 2501385
[2077620.437372] EXT4-fs warning (device dm-4): ext4_end_bio:329: I/O error -28 writing to inode 4988708 (offset 0 size 8388608 starting block 2501632)
[2077620.444394] EXT4-fs warning (device dm-4): ext4_end_bio:329: I/O error     
[2077620.473581] EXT4-fs warning (device dm-4): ext4_end_bio:329: I/O error -28 writing to inode 4988708 (offset 8388608 size 5840896 starting block 2502912)
[2077623.814437] Aborting journal on device dm-4-8.
[2077649.052965] EXT4-fs error (device dm-4): ext4_journal_check_start:56: Detected aborted journal
[2077649.058116] EXT4-fs (dm-4): Remounting filesystem read-only

然而容器本身几乎没有使用任何空间...... (在Docker容器中:) df -h

/dev/mapper/docker-202:1-394781-1exxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx                  99G  1.7G   92G   2% /
tmpfs                                                                                 3.9G     0  3.9G   0% /dev
tmpfs                                                                                 3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/xvda1                                                                             25G  1.4G   24G   6% /etc/hosts
shm                                                                                    64M     0   64M   0% /dev/shm

du -sh /

1.7G    /

这个空间怎么能填满?我的程序正在进行非常低容量的日志记录,并且日志文件非常小。我有充分的理由不把它们写到stdout / stderr。

xxx@xxxxxx:/var/log# du -sh .
6.2M    .

我也做了docker logs,输出小于7k:

>docker logs ecs-awseb-xxxxxxxxxxxxxxxxxxx > w4
>ls -alh
-rw-r--r-- 1 root     root     6.4K Mar 27 19:23 w4

同一个容器不会对我的本地docker设置执行此操作。最后,在EC2实例上运行du -sh /显示使用率低于1.4GB。

它无法通过日志文件填充,并且不会被填充到日志文件中 容器。怎么回事?我在我的智慧'结束!

0 个答案:

没有答案