Docker diinstal tetapi Docker Compose tidak? Mengapa?


127

Saya telah menginstal buruh pelabuhan di centos 7. dengan menjalankan perintah berikut,

curl -sSL https://get.docker.com/ | sh
systemctl enable docker && systemctl start docker
docker run hello-world

CATATAN: helloworld berjalan dengan benar dan tidak ada masalah.

Namun ketika saya mencoba menjalankan docker-compose (docker-compose.yml ada dan valid) itu memberi saya kesalahan hanya pada Centos (versi Windows berfungsi dengan baik untuk file docker-compose)

/usr/local/bin/docker-compose: line 1: {error:Not Found}: command not found

5
Lucunya, untuk Windows & Mac semuanya dimuat dan tersedia sementara pengguna Linux harus melalui pekerjaan yang membosankan mengetik dan menginstal barang secara terpisah dan mencari tahu (yang tentunya menyenangkan)
killjoy

Jawaban:


277

Anda juga perlu menginstal Docker Compose. Lihat manual . Berikut adalah perintah yang perlu Anda jalankan

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)"  -o /usr/local/bin/docker-compose
sudo mv /usr/local/bin/docker-compose /usr/bin/docker-compose
sudo chmod +x /usr/bin/docker-compose

4
Saat menjalankan jalur kedua, saya menerima tanggapan:mv: rename ./docker-compose to /usr/bin/docker-compose: Operation not permitted
kuanb

4
@kuanb jika dikatakan izin tidak diizinkan pastikan Anda mendapat hak sudo penuh
killstreet

Untuk saat ini versi 1.7.0 sudah tua. Menurut docs.docker.com/compose/install versi baru adalah 1.11.2. Ini berarti bahwa alih-alih curl -L github.com/docker/compose/releases/download/1.7.0/…uname -s - uname -m> ./docker-compose harus digunakan curl -L github.com/docker/compose/releases/download/ 1.11.2 /…uname -s - uname -m> ./docker-compose
Yuriy Zaletskyy

1
Pastikan bahwa link yang mengarah ke rilis GitHub tidak ketinggalan zaman! Lihat rilis terbaru di GitHub . Anda juga dapat mengunduh file terbaru dari browser, lalu cukup pindahkan dan berikan izin yang dapat dieksekusi untuknya.
totymedli

1
Saya masih belajar tentang buruh pelabuhan, tapi seperti yang saya mengerti buruh pelabuhan-menulis tidak boleh digunakan untuk penginstalan baru, karena semua fitur-fiturnya telah terintegrasi ke dalam buruh pelabuhan utama dengan docker stackdan gerombolan buruh pelabuhan. vsupalov.com/difference-docker-compose-and-docker-stack . Mungkin jawaban ini harus menyebutkan bahwa, seperti yang muncul pertama kali di google ketika mencari buruh pelabuhan-menulis
Eloims

40

Saya menginstal pada Raspberry Pi 3, dengan Raspbian 8. Metode curl gagal untuk saya (mendapat line 1: Not: command not foundkesalahan saat meminta docker-compose --version) dan solusi @ sunapi386 tampak agak ketinggalan jaman, jadi saya mencoba ini yang berhasil:

Pertama-tama bersihkan dari upaya sebelumnya:

sudo rm /usr/local/bin/docker-compose
sudo pip uninstall docker-compose

Kemudian ikuti panduan ini untuk menulis ulang galangan di Rpi :

sudo apt-get -y install python-pip
sudo pip install docker-compose

Bagi saya (pada 1 Nov 2017) ini menghasilkan respon sebagai berikut docker-compose --version:

docker-compose version 1.16.1, build 6d1ac219

6
Solusi Anda bekerja dengan sempurna! Jika Anda tidak membutuhkan versi terbaru dari docker-compose, Anda juga dapat menggunakan apt-get install docker-compose. Tentu saja, ini mengharuskan Anda menambahkan repositori buruh pelabuhan ke apt's sources.list Anda (skrip instalasi dari get.docker.com melakukan ini secara otomatis untuk Anda). Namun, pada saya Raspberry Pi 3 dengan Raspian Peregangan Lite ini mengakibatkan versi benar-benar tua: docker-compose version 1.8.0, build unknown. Versi ini sangat tua sehingga hanya mendukung versi 2 dari format file docker-compose.
robert

Luar biasa ini membantu saya mendapatkan kesalahan docker-comps di aws. Terima kasih
Laser Hawk

1
Saya mengalami beberapa masalah dan menggunakan 'apt purge' dan 'pip uninstall' untuk docker-compose dan kemudian menginstal ulang lagi (tidak yakin apakah salah satu atau keduanya), tetapi bagian penting dari solusi juga: pip install --upgrade docker-py
mirek

Sempurna! tanpa pemeriksaan curl, chmod dan versi. Instal saja versi terakhir secara otomatis. Harus diterima sebagai jawaban.
Cherry

Mendapat banyak error saat menggunakan pip untuk menginstal docker-compose. Jika Anda juga melakukannya, coba jawaban ini stackoverflow.com/a/43012312/430773
Vik

10

Saya menginstal di Raspberry Pi 3, di Raspbian OS. The curlMetode tidak memutuskan untuk respons yang valid. Dikatakan juga {error: Not Found}, saya melihat URL-nyahttps://github.com/docker/compose/releases/download/1.11.2/docker-compose-Linux-armv7l -nya dan itu tidak valid. Saya kira tidak ada bangunan di sana.

Panduan ini https://github.com/hypriot/arm-compose bekerja untuk saya.

sudo apt-get update
sudo apt-get install -y apt-transport-https
echo "deb https://packagecloud.io/Hypriot/Schatzkiste/debian/ jessie main" | sudo tee /etc/apt/sources.list.d/hypriot.list
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 37BBEE3F7AD95B3F
sudo apt-get update
sudo apt-get install docker-compose

9

Jika Anda menginstal buruh pelabuhan dengan menambahkan repositori resmi mereka ke daftar repositori Anda, seperti:

curl -L https://nightly.odoo.com/odoo.key | apt-key add -
sudo echo "deb http://nightly.odoo.com/10.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
sudo apt-get update && sudo apt-get install odoo

Kerjakan saja:

$ sudo apt-get install docker-compose

Dalam kasus pada distro / Fedora berbasis RHEL:

$ sudo dnf install docker-compose

1
Apt get --bahkan setelah menambahkan repositori yang mereka tentukan untuk buruh pelabuhan CE, tampaknya hanya berisi docker-compose1,8, yang kompatibel dengan docker-compose.ymlfile maksimum versi 2. Dengan kata lain, mereka tidak lagi menerbitkan docker-composeke apt-getrepositori default atau apt- mereka sendiri. dapatkan repositori. Untuk mendapatkan versi yang lebih baru sepertinya Anda perlu menggunakan pip. Ini mengganggu saya, karena secara harfiah satu-satunya hal yang saya gunakan untuk pip.
Groostav

6

Saya menggunakan debian, saya menemukan sesuatu yang cukup alami untuk dilakukan:

apt-get install docker-compose

dan itu berhasil (tidak diuji di centos)


5

pertama-tama periksa apakah docker-compose diinstal,

$ docker-compose -v

Jika tidak diinstal, silakan merujuk ke panduan instalasi https://docs.docker.com/compose/install/ Jika diinstal, berikan izin yang dapat dieksekusi ke biner.

$ chmod +x /usr/local/bin/docker-compose

periksa apakah ini berhasil.


1

Merujuk pada jawaban yang diberikan di atas (saya tidak memiliki reputasi yang cukup untuk merujuk secara terpisah ke solusi individu, oleh karena itu saya melakukan ini secara kolektif di tempat ini), saya ingin melengkapinya dengan beberapa saran penting:

  1. docker-compose Anda dapat menginstal dari repositori (jika Anda memiliki paket ini di repositori, jika tidak Anda dapat menambahkan ke sistem repositori dengan paket ini) atau mengunduh biner dengan menggunakan curl - totourial di situs resmi proyek - src: https://docs.docker.com/compose/install /

  2. docker-compose dari repositori ada di versi 1.8.0 (setidaknya untuk saya). Versi docker-compose ini tidak mendukung file konfigurasi di versi 3. Ini hanya memiliki dukungan versi = <2. Di situs resmi proyek adalah rekomendasi untuk menggunakan konfigurasi kontainer di versi 3 - src: https://docs.docker.com/compose/install/ https://docs.docker.com/compose/compose-file / compose-versioning /. Dari pengalaman saya sendiri dengan pekerjaan di buruh pelabuhan, saya merekomendasikan menggunakan konfigurasi penampung di versi 3 - ada lebih banyak opsi konfigurasi untuk digunakan daripada di versi <3. Jika Anda ingin menggunakan konfigurasi di versi 3 Anda harus melakukan update / install docker-compose ke versi setidaknya 1.17 - sebaiknya yang terbaru stabil. Situs resmi proyek ini menjelaskan secara lengkap bagaimana melakukan proses ini - src:

  3. ketika Anda mencoba untuk secara manual menghapus binari buruh pelabuhan lama, Anda dapat memiliki informasi tentang file yang hilang di jalur default /usr/local/bin/docker-compose. Dalam kasus saya, docker-compose berada di jalur default / usr / bin / docker-compose. Dalam hal ini, saya sarankan Anda menggunakan alat menemukan di sistem Anda untuk menemukan file biner buruh pelabuhan-compose - contoh sintaks: sudo find / -name 'docker-compose'. Itu membantu saya. Berkat ini, saya menghapus versi docker-compose lama dan menambahkan stable ke sistem - Saya menggunakan alat curl untuk mengunduh file biner docker-compose, meletakkannya di jalur yang benar dan memberinya izin yang tepat - semua proses ini memiliki telah dijelaskan pada postingan di atas.

Salam, Adam


0

Menginstal buruh pelabuhan tidak berarti Anda telah menginstal docker-compose. Ini memiliki prasyarat bahwa Anda telah menginstal mesin buruh pelabuhan yang telah Anda lakukan. Setelah itu Anda dapat menginstal docker-compose mengikuti tautan ini untuk Centos 7.


Tidak, saya menjalankan perintah itu "yum install docker-engine" tetapi saya mendapatkan error Paket docker-engine-1.11.0-1.el7.centos.x86_64 sudah diinstal dan versi terbaru dan masih tidak ada docker-compose itu memberi saya kesalahan / usr / local / bin / docker-compose: baris 1: {error: Not Found}: perintah tidak ditemukan
mahen3d

Seperti yang saya katakan: Mesin Docker adalah sesuatu yang berbeda dari penulisan Docker. Jadi Anda dapat menginstal mesin buruh pelabuhan dan hanya bekerja dengan buruh pelabuhan tetapi ketika Anda ingin menggunakan buruh pelabuhan menulis Anda perlu menginstalnya secara terpisah (di mana instalasi mesin adalah prasyarat (Anda telah melakukan ini)). Jadi coba sekarang tautan yang saya berikan di jawaban (Anda dapat menggunakan curl atau pip untuk menginstal docker-compose)
lvthillo

0

buruh pelabuhan-menulis saat ini merupakan alat yang memanfaatkan buruh pelabuhan (-engine) tetapi tidak termasuk dalam distribusi buruh pelabuhan.

Berikut ini tautan ke manual instalasi: https://docs.docker.com/compose/install/

TL; DR:

curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/bin/docker-compose

(1.8.0 akan berubah di masa depan)



0

Solusi di atas tidak berhasil untuk saya. Tetapi saya menemukan ini yang berhasil:

sudo apt-get update -y && sudo apt-get install -y python3-pip python3-dev
sudo apt-get remove docker docker-engine docker.io
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo pip3 install docker-compose
#sudo docker-compose -f docker-compose-profess.yml pull ofw
sudo usermod -a -G docker $USER
sudo reboot

0

Di Linux, Anda dapat mengunduh biner Docker Compose dari halaman rilis repositori Compose di GitHub. Ikuti instruksi dari tautan, yang melibatkan menjalankan perintah curl di terminal Anda untuk mengunduh binari. Petunjuk langkah demi langkah ini juga disertakan di bawah.

1: Jalankan perintah ini untuk mengunduh rilis stabil Docker Compose saat ini:

sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Untuk menginstal versi Compose yang berbeda, gantikan 1.26.2 dengan versi Compose yang ingin Anda gunakan.

2: Terapkan izin yang dapat dieksekusi ke biner:

sudo chmod +x /usr/local/bin/docker-compose

Catatan: Jika perintah docker-compose gagal setelah penginstalan, periksa jalur Anda. Anda juga dapat membuat tautan simbolis ke / usr / bin atau direktori lain di jalur Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.