docker-composeのインストール手順では、次のことができます。
curl -L https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
しかし、次の理由でそれをインストールすることはできません。
zsh: permission denied: /usr/local/bin/docker-compose
以前のインストールとdockerの使用法のようにしたかったので、sudoを実行したくありません
docker <command>
sudoはありません...
それを設定する適切な方法は何ですか?
https://github.com/docker/composeを意味していると思い@aanand ?
ほとんどの場合、 /usr/local/bin
ディレクトリは書き込み可能ではありません。 chmod
/ chown
するか、 docker-compose
書き込み可能な場所にダウンロードしてsudo cp
に入れます。
インストールするだけで、実行するのにsudo
は必要ありません。
私もこの問題を抱えており、Linuxの初心者です:)誰かが私を助けてくれますか?
作曲または機械のための@luisrudge ?
あ、ごめんなさい! 作曲用です!
@luisrudge ok np :)これを閉じてもいいですか?
はい! ありがとう!
Dockerマシンで同じ問題が発生しています。解決策
@ joeyhipolito @ aanand親切に助けて
@ tarun6006問題/解決策はおそらく同じです:
ほとんどの場合、
/usr/local/bin
ディレクトリは書き込み可能ではありません。chmod
/chown
するか、docker-machine
書き込み可能な場所にダウンロードしてsudo cp
に入れます。インストールするだけで、実行するのに
sudo
は必要ありません。
入力の終了sudo chown -R $(whoami) /usr/local/bin
ああありがとう@zhangqingheそれは私のために問題を修正しました
このアプローチの方が簡単だと思いました。
@zhangqingheこれは問題を解決します。 ありがとう。
以前、sudo -iを使用して、問題を解決しました。
@zhangqingheありがとう。 これは私の問題を解決します。
入力してください
sudo chmod -Rf 777 / usr / local / bin
それは仕事です
これを行わないでください。 これには広範囲にわたる許可の変更があり、実際に達成したいことの範囲を超えている可能性があります。
sudo chown -R $(whoami)/ usr / local / bin
これも行わないでください( /usr/local/bin
内のすべてのファイルの所有者が、現在実行しているユーザーに再帰的に変更されます)。 それは方法のやり過ぎです。 私はこれを十分に強調することはできません。
このようなことをすると、最終的にはあなたの顔に爆発する可能性が非常に高くなります。 私のMacの/usr/local/bin
では、いくつかのファイルはnathanleclaire
によって所有され、いくつかはroot
によって所有されています。 それらをそこに置き、それらに依存するプログラムは、おそらくそれがこのようにとどまることを期待しています。 上記の推奨コマンドは、これらの注意深くレイアウトされたファイルの所有権を完全に削除します。
代わりに、必要に応じて、代わりにこのタイプの操作を検討してください。 自分が所有するディレクトリにファイルを保存してから、 cp
/ mv
します。
$ curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` \
>~/docker-compose
$ chmod +x ~/docker-compose
$ sudo mv ~/docker-compose /usr/local/bin/docker-compose
はるかに安全で、広範囲にわたる結果ははるかに少なくなります。
Dockerドキュメントから
注:「Permissiondenied」エラーが発生した場合は、/ usr / local / binディレクトリーが書き込み可能ではない可能性があり、スーパーユーザーとしてComposeをインストールする必要があります。 sudo -iを実行し、次に以下の2つのコマンドを実行して、終了します。
nathanleclaireの提案は私のために働いた。 ありがとう
グーグルは私をここに連れて来る…。
お願いします... @ nathanleclaireソリューションを使用してください
これはどうですか:
Dockerをroot以外のユーザーとして使用する場合は、次のことを検討する必要があります。
次のような方法でユーザーを「docker」グループに追加します。
sudo usermod -aG docker your-user
これは良い考えですか?
docker-composeが実行可能であることを確認してください(chmod + x / usr / local / bin / docker-compose)
/usr/local/bin
内のすべてのファイルのアクセス許可をいじる必要はありません
するな
sudo chown -R $(whoami)/ usr / local / bin
代わりにこれを行う
sudo -i
curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod 755 /usr/local/bin/docker-compose
exit
@nathanleclaireのソリューションを使用してください。私にとっては非常にうまく機能します。
docker-composeが実行可能であることを確認してください(chmod + x / usr / local / bin / docker-compose)
これはUbuntu18.04で動作しました
このアプローチの方が簡単だと思いました。
これは私のために働いた:D
以前、sudo -iを使用して、問題を解決しました。
これ(またはsudo -i
言及している他のいずれか)は、/ usr / local / bin全体をchownするだけでなく、受け入れられる回答である必要があります。
価値があるのは、Dockerのアップグレード後にpermission denied: docker-compose
エラーが発生したことです。 1分前はまだすべてが正常に機能していたので、私の権限はすべて正常でした。
(現在アップグレードされている)Dockerデスクトップアプリケーションを起動し、管理者パスワードの入力を求められたときにそれを承認した後、エラーはなくなりました。 そのため、Dockerは権限自体を修正しました。
このコードだけでこの問題を解決できますsudo chmod +x /usr/local/bin/docker-compose
最も参考になるコメント
入力の終了
sudo chown -R $(whoami) /usr/local/bin