web-dev-qa-db-ja.com

ルート権限なしでdocker-compose upを実行するには?

非rootユーザーとしてdocker-composeを実行したい。私が実行するとき:

Sudo docker-compose up

それはうまくいきますが、私が実行するとき:

docker-compose up

エラーが表示されます:

 TITLE>Network Error</TITLE>
</HEAD>
<BODY>
<FONT face="Helvetica">
<big><strong></strong></big><BR>
</FONT>
<blockquote>
<TABLE border=0 cellPadding=1 width="80%">
<TR><TD>
<FONT face="Helvetica">
<big>Network Error (tcp_error)</big>
<BR>
<BR>
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
A communication error occurred: ""
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
The Web Server may be down, too busy, or experiencing other problems preventing it from responding to requests. You may wish to try again at a later time.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica" SIZE=2>
<BR>
For assistance, contact your network support team.
</FONT>
</TD></TR>
</TABLE>
</blockquote>
</FONT>
</BODY></HTML>

Dockerグループにユーザーを追加し、sudoを使用せずにdockerコマンドが機能しますが、docker-composeが問題を引き起こしています。

1
Hash Doe

私は解決策を見つけました。非ルートユーザーに無効なプロキシが設定されました。/etc/profileを編集しましたが、正常に動作します。

0
Hash Doe

理由の1つは、現在のユーザーがdockerグループに追加されていないことです。現在のユーザーがdockerグループに属しているかどうかを確認するには、次を使用できます。

cat /etc/group | grep docker

前のコマンドの出力に現在のユーザーが表示されない場合は、次のコマンドを使用して追加します。

Sudo gpasswd -a $USER docker

最後に、次のコマンドを使用してdockerサービスを再起動する必要があります。

Sudo service docker restart
0
Fady Ibrahim