私のための簡単な解決策: sudo docker-compose up
UPDATE 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の2番目のインストールの両方)を注意深く確認すると、必要な手順が見つかります。こちらにも記載されています:https : //subosito.com/posts/docker-tips/
須藤?番号!
コマンドを発行するたびにsudo dockerを入力するのにうんざりしていませんか?ええ、それに対処する方法があります。当然、Dockerにはrootユーザーが必要ですが、Docker操作にrootと同等のグループを与えることができます。
dockerというグループを作成し、目的のユーザーをそのグループに追加できます。dockerサービスを再起動すると、ユーザーはdocker操作を実行するたびにsudoを入力する必要がなくなります。シェルコマンドではどのように見えますか?ルートとして、ここに行きます:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
できた!
2017年3月9日更新
Linuxのインストール後の手順
このセクションでは、Dockerでより適切に動作するようにLinuxホストを構成するためのオプションの手順について説明します。
root以外のユーザーとしてDockerを管理する
dockerデーモンは、TCPポートではなくUnixソケットにバインドします。デフォルトでは、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
このコマンドは、テストイメージをダウンロードしてコンテナーで実行します。コンテナが実行されると、情報メッセージを出力して終了します。
docker-machine
rootで実行?私はちょうどUbuntuで同じ問題を抱えてここに来ました、そしてそれはソケットの許可sudo
でした- トリックをしました。