无法连接到 docker 守护程序

Can't connect to docker daemon

我在我的 ec2 实例上安装了 docker 和 docker-compose。我也开始 docker 但是当我尝试 docker-compose 时出现错误:

[ec2-user@ip-172-31-16-150 ~]$ sudo service docker start
[ec2-user@ip-172-31-16-150 ~]$ docker --version
Docker version 1.9.1, build a34a1d5/1.9.1
[ec2-user@ip-172-31-16-150 ~]$ docker-compose --version
docker-compose version: 1.4.2
[ec2-user@ip-172-31-16-150 ~]$ docker-compose -p docker -f my-compose.yml up -d
Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
[ec2-user@ip-172-31-16-150 ~]$ sudo docker-compose -p docker -f my-compose.yml up -d
sudo: docker-compose: command not found
[ec2-user@ip-172-31-16-150 ~]$ echo $DOCKER_HOST

我也尝试过使用 sudo 命令,但它无法将 docker-compose 识别为命令

我没有设置任何 DOCKER_HOST 环境变量。我不确定是否需要..

您需要 运行 使用 sudo 的实际命令:

sudo docker-compose -p docker -f my-compose.yml up -d

Docker 运行s 在您的 Linux 系统上以 root 用户身份运行,因此与 运行ning 守护程序的所有交互都需要以 root 用户身份进行。您可以作为用户 运行 命令,但您不与 运行ning 系统交互!

您可以在 Amazon Linux 上安装 docker-compose:

curl -L https://github.com/docker/compose/releases/download/1.4.0/docker-compose-`uname -s`-`uname -m` | sudo tee /usr/local/bin/docker-compose > /dev/null
sudo chmod +x /usr/local/bin/docker-compose