Machine: Pertanyaan: Izin Ditolak pada curl dan simpan untuk penulisan buruh pelabuhan

Dibuat pada 27 Feb 2015  ·  30Komentar  ·  Sumber: docker/machine

Dalam instruksi untuk menginstal docker-compose, Anda dapat melakukan:

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

Tetapi Anda tidak dapat menginstalnya karena:

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

Saya tidak ingin melakukan sudo, karena saya ingin seperti pemasangan dan penggunaan buruh pelabuhan saya sebelumnya

docker <command>

Tidak ada sudo...

Bagaimana cara setting yang tepat?

Komentar yang paling membantu

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

Semua 30 komentar

Saya yakin maksud Anda https://github.com/docker/compose. @aanand ?

Kemungkinan besar direktori /usr/local/bin tidak dapat ditulis oleh Anda. Entah chmod / chown itu, atau unduh docker-compose suatu tempat yang dapat ditulis dan sudo cp di dalamnya.

Anda tidak perlu sudo untuk menjalankannya, cukup untuk menginstalnya.

Saya mengalami masalah ini juga dan saya agak pemula linux :) Dapatkah seseorang membantu saya?

@luisrudge untuk menulis atau mesin?

Oh maaf! Ini untuk menulis!

@luisrudge ok np :) Keberatan jika saya menutup yang ini?

Ya! Terima kasih!

saya menghadapi masalah yang sama untuk mesin buruh pelabuhan, tolong arahkan saya ke solusi @ehazlett

@joeyhipolito @aanand mohon bantuannya

@ tarun6006 Masalah/solusinya kemungkinan sama:

Kemungkinan besar direktori /usr/local/bin tidak dapat ditulis oleh Anda. Entah chmod / chown itu, atau unduh docker-machine suatu tempat yang dapat ditulis dan sudo cp di dalamnya.

Anda tidak perlu sudo untuk menjalankannya, cukup untuk menginstalnya.

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

Oh terima kasih @zhangqinghe itu memperbaiki masalah untuk saya

Saya menemukan pendekatan ini lebih mudah.

@zhangqinghe ini memecahkan masalah. Terima kasih.

Bagi saya Sudo -i sebelumnya, memecahkan masalah.

@zhangqinghe terima kasih. ini memecahkan masalah saya.

tolong ketik
sudo chmod -Rf 777 /usr/local/bin
itu pekerjaan

Tolong jangan lakukan ini. Ini akan memiliki perubahan izin yang luas yang kemungkinan berada di luar cakupan apa yang sebenarnya ingin Anda capai.

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

Tolong JANGAN lakukan ini juga (ini akan mengubah pemilik setiap file secara rekursif di /usr/local/bin menjadi pengguna yang sedang Anda jalankan). Ini CARA berlebihan. Saya tidak bisa cukup menekankan ini.

Melakukan sesuatu seperti ini kemungkinan besar akan meledak di wajah Anda pada akhirnya. Di /usr/local/bin di Mac saya, beberapa file dimiliki oleh nathanleclaire dan beberapa dimiliki oleh root . Program yang menempatkan mereka di sana dan mengandalkan mereka mungkin mengharapkannya tetap seperti ini. Perintah yang disarankan di atas akan benar-benar memusnahkan kepemilikan file yang ditata dengan hati-hati ini.

Sebagai gantinya, jika perlu, pertimbangkan jenis operasi ini sebagai gantinya. Simpan file ke direktori yang Anda miliki dan kemudian cp / mv itu.

$ 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

Jauh lebih aman dengan konsekuensi yang jauh lebih kecil.

Dari dokumentasi Docker

Catatan: Jika Anda mendapatkan kesalahan "Izin ditolak", direktori /usr/local/bin Anda mungkin tidak dapat ditulis dan Anda harus menginstal Compose sebagai pengguna super. Jalankan Sudo -i, lalu dua perintah di bawah ini, lalu keluar

saran nathanleclaire bekerja untuk saya. Terima kasih

Google membawa saya ke sini ....

Tolong, tolong TOLONG... gunakan solusi @nathanleclaire

Bagaimana dengan ini:
Jika Anda ingin menggunakan Docker sebagai pengguna non-root, Anda sekarang harus mempertimbangkan
menambahkan pengguna Anda ke grup "buruh pelabuhan" dengan sesuatu seperti:

sudo usermod -aG buruh pelabuhan pengguna-Anda
Apakah ini ide yang bagus?

pastikan docker-compose dapat dieksekusi (chmod +x /usr/local/bin/docker-compose)

Tidak perlu mengacaukan izin pada semua file di dalam /usr/local/bin
Tidak melakukan

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

Lakukan ini sebagai gantinya

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

Silakan gunakan solusi @nathanleclaire , ini bekerja sangat baik untuk saya.

pastikan docker-compose dapat dieksekusi (chmod +x /usr/local/bin/docker-compose)

ini berfungsi di Ubuntu 18.04

Saya menemukan pendekatan ini lebih mudah.

ini berhasil untuk saya :D

Bagi saya Sudo -i sebelumnya, memecahkan masalah.

Ini (atau salah satu yang lain yang menyebutkan sudo -i ) harus menjadi jawaban yang diterima dan bukan yang baru saja dilihat seluruh /usr/local/bin

Untuk apa nilainya: kesalahan permission denied: docker-compose terjadi pada saya setelah memutakhirkan Docker. Semenit sebelumnya semuanya masih berfungsi dengan baik, jadi izin saya sudah beres.

Setelah saya memulai aplikasi desktop Docker (sekarang ditingkatkan) dan mengesahkannya ketika dimintai kata sandi administrator saya, kesalahan itu hilang. Jadi Docker memperbaiki izin itu sendiri.

Kode ini saja dapat memecahkan masalah ini
sudo chmod +x /usr/local/bin/docker-compose

Apakah halaman ini membantu?
0 / 5 - 0 peringkat