Machine: 質問:dockercomposeのカールと保存で許可が拒否されました

作成日 2015年02月27日  ·  30コメント  ·  ソース: docker/machine

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はありません...

それを設定する適切な方法は何ですか?

最も参考になるコメント

入力の終了sudo chown -R $(whoami) /usr/local/bin

全てのコメント30件

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

このページは役に立ちましたか?
0 / 5 - 0 評価