正常更新Ubuntu 14.04后,无法启动Docker容器



我的系统是 Ubuntu 14.04,原始内核为 3.13

$ uname -a
Linux dai-fp-adrecognizer 3.13.0-161-generic #211-Ubuntu SMP Wed Oct 3 14:52:35 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

我的容器曾经在系统上运行良好。docker-compose.yml如下:

version: '3'
services:
  scheduler:
    image: dreg.be/tvacr/dai-ws-server:1.0.2
    volumes:
      - /etc/dai-wsserver/ws_server_conf.ini:/etc/dai-wsserver/ws_server_conf.ini
    ports:
      - 6789:6789
    command: /etc/dai-wsserver/ws_server_conf.ini

今天下午,我按照此说明确实在系统上安装了ffmpeg。基本上执行了下面的命令:

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install ffmpeg

之后,我得知我的容器突然停止了。我尝试重新启动它,但它总是失败,打印出此错误:

docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:297: copying bootstrap data to pipe caused "write init-p: broken pipe"": unknown.

进行了一些搜索后,我找到了该问题的错误报告。然后,我遵循了建议将内核升级到 4.4的最受倾向的评论:

sudo apt-get install --install-recommends linux-generic-lts-xenial
sudo reboot

现在我的内核是4.4

$ uname -a
Linux dai-fp-adrecognizer 4.4.0-146-generic #172~14.04.1-Ubuntu SMP Fri Apr 5 16:51:29 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

但是我的容器仍然无法开始打印出不同的错误:

$ docker-compose up
Creating dai-wsserver_scheduler_1 ... error
ERROR: for dai-wsserver_scheduler_1  Cannot create container for service scheduler: error creating aufs mount to /var/lib/docker/aufs/mnt/79d5913e12e2439a40f1dfbfa2b6b615ef476f5c2c4694e0dd8726bb17e52dae-init: no space left on device
ERROR: for scheduler  Cannot create container for service scheduler: error creating aufs mount to /var/lib/docker/aufs/mnt/79d5913e12e2439a40f1dfbfa2b6b615ef476f5c2c4694e0dd8726bb17e52dae-init: no space left on device
ERROR: Encountered errors while bringing up the project.

我确实检查了系统上剩下的空间,所有这些都应该看起来不错:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.9G   12K  7.9G   1% /dev
tmpfs           1.6G  344K  1.6G   1% /run
/dev/xvda1       12G  6.7G  4.5G  61% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
none            5.0M     0  5.0M   0% /run/lock
none            7.9G  7.9G     0 100% /run/shm
none            100M     0  100M   0% /run/user
$ sudo du -h --max-depth=1 /var/lib/docker/aufs
288K    /var/lib/docker/aufs/layers
300K    /var/lib/docker/aufs/mnt
2.7G    /var/lib/docker/aufs/diff
2.7G    /var/lib/docker/aufs

我无法弄清楚系统发生了什么以及如何修复它。帮助您表示赞赏!

我确实找到了解决问题的解决方案。简而言之,我确实在/var/lib/docker

下清除了aufs的东西
sudo service docker stop
sudo rm -rf /var/lib/docker/aufs
sudo rm -f /var/lib/docker/linkgraph.db
sudo service docker start

当然所有图像都将消失。但这很好,我可以重新绘制图像。

它在安装ffmpeg之前工作(以及相关的系统更改(;一切正常工作时,您可以回到"已知的好"状态吗?从那时起,我将研究FFMPEG对系统的变化。这就是错误的根本原因。

相关内容

最新更新