我有一台运行 Debian 8 Jessie 的 Linux 服务器,我正在尝试按照以下步骤安装 Docker要旨在 Github 上。
每次我尝试启动 Docker 服务时都会返回以下错误:
admin@srvr1:~$ sudo systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled)
Active: failed (Result: start-limit) since Thu 2017-07-06 16:09:08 EDT; 47s ago
Docs: https://docs.docker.com
Process: 32666 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=1/FAILURE)
Main PID: 32666 (code=exited, status=1/FAILURE)
Jul 06 16:09:08 yjuoy5v1ka systemd[1]: docker.service holdoff time over, scheduling restart.
Jul 06 16:09:08 yjuoy5v1ka systemd[1]: Stopping Docker Application Container Engine...
Jul 06 16:09:08 yjuoy5v1ka systemd[1]: Starting Docker Application Container Engine...
Jul 06 16:09:08 yjuoy5v1ka systemd[1]: docker.service start request repeated too quickly, refusing to start.
Jul 06 16:09:08 yjuoy5v1ka systemd[1]: Failed to start Docker Application Container Engine.
Jul 06 16:09:08 yjuoy5v1ka systemd[1]: Unit docker.service entered failed state.
Jul 06 16:09:42 yjuoy5v1ka systemd[1]: Starting Docker Application Container Engine...
Jul 06 16:09:42 yjuoy5v1ka systemd[1]: docker.service start request repeated too quickly, refusing to start.
Jul 06 16:09:42 yjuoy5v1ka systemd[1]: Failed to start Docker Application Container Engine.
Jul 06 16:09:45 yjuoy5v1ka systemd[1]: Starting Docker Application Container Engine...
Jul 06 16:09:45 yjuoy5v1ka systemd[1]: docker.service start request repeated too quickly, refusing to start.
Jul 06 16:09:45 yjuoy5v1ka systemd[1]: Failed to start Docker Application Container Engine.
Jul 06 16:09:49 yjuoy5v1ka systemd[1]: Unit docker.service cannot be reloaded because it is inactive.
这就是它所说的,我无法识别任何通常的死赠品,我在端口 80 上运行 Nginx,我已经安装了 PHP7.1 和 MariaDB,我已经删除了 Apache,除此之外,到目前为止,服务器几乎是库存的,所以我不知道是什么原因造成的......
有什么想法吗?提前谢谢您。
答案1
我遇到过类似的错误(但在 Ubuntu 16.04 中)。试试这个:
选项1:
sudo systemctl stop docker
sudo nano /lib/systemd/system/docker.service
改变线路
ExecStart=/usr/bin/dockerd -H fd://
到:
ExecStart=/usr/bin/dockerd -H fd:// -s overlay
或者:
ExecStart=/usr/bin/dockerd -H fd:// -s aufs
保存文件并运行接下来的两个命令:
sudo systemctl daemon-reload
sudo systemctl start docker
之后检查您的 docker 是否运行,请记住此后您将不会看到任何图像或容器,您之前的图像或容器存储在“/var/lib/docker/overlay2”中。
选项 2
其他选择是将您的容器移动到备份文件夹并尝试使用 overlay2 启动一个干净的 docker.service,为此请尝试以下操作:
sudo systemctl stop docker
sudo mv /var/lib/docker /var/lib/docker.bak
sudo nano /lib/systemd/system/docker.service
改变线路
ExecStart=/usr/bin/dockerd -H fd://
到:
ExecStart=/usr/bin/dockerd -H fd:// -s overlay2
保存文件并运行以下命令:
sudo systemctl daemon-reload
sudo systemctl start docker
使用第二个选项后,它启动正常吗?请记住,使用后一个选项时,您的容器位于“docker.bak”文件夹中,因此docker ps
不会显示任何容器或图像。
我认为这与使用 overlay2 驱动程序存储的容器和/或图像中的一些问题有关。
我在 Ubuntu 16.04 上使用 Docker 17.12 和 18.03 时遇到过这种情况,在 ext4 上的 overlay2 上。我的 Docker 设置运行正常,突然开始崩溃(并且是在几次更新之后)。如果有人想知道,我可以显示安装了哪些更新)。