私にとっての簡単な解決策: sudo docker-compose up
UPDATE 2016-3-14: docker インストール プロセス (または 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 デーモンが起動すると、docker グループによる Unix ソケットの所有権の読み取り/書き込みが可能になります。
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
このコマンドは、テスト イメージをダウンロードし、コンテナーで実行します。コンテナーが実行されると、情報メッセージを出力して終了します。