对我来说简单的解决方案: sudo docker-compose up
更新 2016-3-14:在 docker install 过程(或 docker-compose ?)的某个时刻,有一个建议和示例将您的用户名添加到“docker”组。这使您可以避免在所有 docker 命令之前都需要“sudo”,如下所示:
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
仔细查看安装命令的输出(docker 和 docker-compose 的第二次安装),您会找到必要的步骤。它也记录在这里: https ://subosito.com/posts/docker-tips/
须藤?不!
厌倦了每次发出命令时都输入 sudo docker?是的,有办法解决这个问题。虽然 docker 自然需要 root 用户,但我们可以为 docker 操作提供一个 root 等效组。
您可以创建一个名为 docker 的组,然后将所需的用户添加到该组。重新启动 docker 服务后,用户无需每次执行 docker 操作时都输入 sudo。它在 shell 命令上的外观如何?作为一个根,你去:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
完毕!
更新 2017-3-9
Linux 的安装后步骤
本节包含配置 Linux 主机以更好地使用 Docker 的可选过程。
以非 root 用户身份管理 Docker
docker 守护进程绑定到 Unix 套接字而不是 TCP 端口。默认情况下,Unix 套接字由用户 root 拥有,其他用户只能使用 sudo 访问它。docker 守护进程始终以 root 用户身份运行。
如果您在使用 docker 命令时不想使用 sudo,请创建一个名为 docker 的 Unix 组并将用户添加到其中。当 docker 守护进程启动时,它使 Unix 套接字的所有权可由 docker 组读/写。
要创建 docker 组并添加您的用户:
# 1. Create the docker group.
$ sudo groupadd docker
# 2. Add your user to the docker group.
$ sudo usermod -aG docker $USER
# 3. Log out and log back in so that your group membership is re-evaluated.
# 4. Verify that you can run docker commands without sudo.
$ docker run hello-world
此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条信息性消息并退出。