Machine: Question : Autorisation refusée sur curl et enregistrer pour docker compose

Créé le 27 févr. 2015  ·  30Commentaires  ·  Source: docker/machine

Dans les instructions d'installation de docker-compose, vous pouvez faire :

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

Mais vous ne pouvez pas l'installer car :

zsh: permission denied: /usr/local/bin/docker-compose

Je ne veux pas faire sudo, car je voulais que ce soit comme mes précédentes installations et utilisation de docker

docker <command>

Pas de sudo...

Quelle est la bonne façon de le mettre en place?

Commentaire le plus utile

dans terminer l'entrée sudo chown -R $(whoami) /usr/local/bin

Tous les 30 commentaires

Je crois que vous vouliez dire https://github.com/docker/compose. @aanand ?

Très probablement, votre répertoire /usr/local/bin n'est pas accessible en écriture. Soit chmod / chown , ou téléchargez docker-compose endroit accessible en écriture et sudo cp dedans.

Vous n'aurez pas besoin de sudo pour l'exécuter, juste pour l'installer.

J'ai aussi ce problème et je suis un peu novice sous Linux :) Quelqu'un peut-il m'aider ?

@luisrudge pour composer ou machine ?

Oh pardon! C'est pour composer !

@luisrudge ok np :)

Oui! Merci!

je suis confronté au même problème pour la machine docker, veuillez me rediriger vers la solution @ehazlett

@joeyhipolito @aanand aide gentiment

@ tarun6006 Le problème/la solution est probablement le même :

Très probablement, votre répertoire /usr/local/bin n'est pas accessible en écriture. Soit chmod / chown , ou téléchargez docker-machine endroit accessible en écriture et sudo cp dedans.

Vous n'aurez pas besoin de sudo pour l'exécuter, juste pour l'installer.

dans terminer l'entrée sudo chown -R $(whoami) /usr/local/bin

Oh merci @zhangqinghe cela a résolu le problème pour moi

J'ai trouvé cette approche plus facile.

@zhangqinghe cela résout le problème. Merci.

Pour moi, sudo -i avant, a résolu le problème.

@zhangqinghe merci. cela résout mon problème.

veuillez saisir
sudo chmod -Rf 777 /usr/local/bin
c'est du travail

S'il vous plaît ne faites pas cela. Cela entraînera des modifications d'autorisation de grande envergure qui dépassent probablement la portée de ce que vous souhaitez réellement accomplir.

sudo chown -R $(whoami) /usr/local/bin

Veuillez NE PAS faire cela non plus (cela changera le propriétaire de chaque fichier de manière récursive dans /usr/local/bin à l'utilisateur sous lequel vous exécutez actuellement). C'est BEAUCOUP exagéré. Je ne saurais trop insister là-dessus.

Faire quelque chose comme ça est très susceptible de vous exploser au visage par la suite. Dans /usr/local/bin sur mon Mac, certains fichiers appartiennent à nathanleclaire et d'autres à root . Les programmes qui les y placent et s'appuient sur eux s'attendent probablement à ce qu'il en reste ainsi. La commande suggérée ci-dessus décimera totalement ces propriétés de fichiers soigneusement disposées.

Au lieu de cela, si nécessaire, envisagez plutôt ce type d'opération. Enregistrez le fichier dans un répertoire que vous possédez, puis 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

Beaucoup plus sûr avec des conséquences beaucoup moins importantes.

À partir de la documentation Docker

Remarque : Si vous obtenez une erreur « Autorisation refusée », votre répertoire /usr/local/bin n'est probablement pas accessible en écriture et vous devrez installer Compose en tant que superutilisateur. Exécutez sudo -i, puis les deux commandes ci-dessous, puis quittez

la suggestion de nathanleclaire a fonctionné pour moi. Merci

Google m'amène ici...

S'il vous plaît, S'IL VOUS PLAÎT... utilisez la solution @nathanleclaire

Et ça:
Si vous souhaitez utiliser Docker en tant qu'utilisateur non root, vous devriez maintenant considérer
ajouter votre utilisateur au groupe "docker" avec quelque chose comme :

sudo usermod -aG docker votre-utilisateur
Est-ce une bonne idée?

assurez-vous que docker-compose est exécutable (chmod +x /usr/local/bin/docker-compose)

Pas besoin de jouer avec les autorisations sur tous les fichiers à l'intérieur de /usr/local/bin
Ne pas faire

sudo chown -R $(whoami) /usr/local/bin

Faites ceci à la place

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

Veuillez utiliser la solution de @nathanleclaire , cela fonctionne très bien pour moi.

assurez-vous que docker-compose est exécutable (chmod +x /usr/local/bin/docker-compose)

cela a fonctionné sur Ubuntu 18.04

J'ai trouvé cette approche plus facile.

ça a marché pour moi :D

Pour moi, sudo -i avant, a résolu le problème.

Ceci (ou n'importe lequel des autres mentionnant sudo -i ) devrait être la réponse acceptée et non pas simplement chown l'intégralité du /usr/local/bin

Pour ce que ça vaut : l'erreur permission denied: docker-compose m'est arrivée après une mise à jour de Docker. Une minute plus tôt, tout fonctionnait toujours correctement, mes autorisations étaient donc toutes en ordre.

Après avoir démarré l'application de bureau Docker (maintenant mise à niveau) et l'avoir autorisée lorsqu'on m'a demandé mon mot de passe administrateur, l'erreur a disparu. Docker a donc corrigé les autorisations lui-même.

Ce code à lui seul peut résoudre ce problème
sudo chmod +x /usr/local/bin/docker-compose

Cette page vous a été utile?
0 / 5 - 0 notes