无法在Amazon Linux计算机上启动docker

时间:2018-01-08 13:53:16

标签: docker ami

我正在使用亚马逊linux机器(p2)。

我已安装此泊坞版:

Client:
 Version:      17.03.2-ce
 API version:  1.27
Go version:   go1.7.5
Git commit:   7392c3b/17.03.2-ce
Built:        Wed Aug  9 22:45:09 2017

OS / Arch:linux / amd64

我不确定,但我认为这个问题是在杀死一个运行了一些Docker容器的屏幕后开始的

我遇到了这个错误:

sudo docker ps

给出:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

sudo service docker status

给出:

docker dead but subsys locked

我试过了两个:

sudo rm -rf /var/run/docker
sudo rm /var/run/docker.*

我也尝试重启并停止:     sudo service docker start / stop

我还重启了EC2机器

4 个答案:

答案 0 :(得分:3)

试试这个并重启docker

yum update device-mapper-libs
sudo service docker restart

答案 1 :(得分:0)

您可以通过以下命令运行docker守护程序。

sudo service docker start

答案 2 :(得分:0)

我有10个运行ec2实例(t2.large)的docker容器,每个实例都在自己的服务上运行,整个服务在集群中运行。我更新了ec2实例机器的时区,这要求我重新启动实例。我重新启动了实例,这个问题浮出水面。我注意到的第一件事是ssh进入机器的速度比之前慢,我后来意识到docker ps抛出了这个错误,我后来神奇地解决了以后意识到某些容器实例正在运行但它们没有服务于任何页面docker logs -f CONTAINER_ID让我知道nginx由于特权问题而没有启动,因为我创建的某些文件没有被创建。

我后来意识到我的神奇解决方案是一个非常神奇的解决方案(大多数神奇的解决方案都不是解决方案),我的所有10个容器都试图同时启动,这需要比我的实例提供的空间更多的内存空间,我稍后必须删除服务并逐个重新创建它们 - 允许一个容器在同一个集群中创建另一个容器之前启动。那是我和平的时候。我希望这有助于某人。

答案 3 :(得分:0)

我也面临着同样的问题。尽管我(某种程度上)通过在docker中运行任何命令之前发布了sudo service docker stopsudo service docker start来修复了它。

详细信息::我在竞价型实例中使用docker,因此每次执行某些任务时都要进行设置。我创建了docker并上传了我的文件,没有任何问题。但是,当我发出在docker中运行上传的bash脚本的命令时,我遇到了docker not running的问题。因此,在运行脚本之前,我只是停止并启动docker。奇怪的是,仅仅做sudo service docker start甚至是sudo service docker restart并不能解决我的问题。我必须专门发出启动和停止命令。但是我现在还没有足够的数据点,它仅在最近几天才起作用,而且我不急于检验这一假设(发出两个命令而不仅仅是发出一个命令)。