Docker kurulu ama Docker Compose değil mi? neden?


127

Aşağıdaki komutları çalıştırarak centos 7 üzerine docker kurdum,

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

NOT: helloworld düzgün çalışır ve sorun yoktur.

ancak docker-compose çalıştırmaya çalıştığımda (docker-compose.yml var ve geçerli) bana sadece Centos'ta hata veriyor (Windows sürümü docker-compose dosyası için iyi çalışıyor)

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

5
Yeterince komik bir şekilde, Windows ve Mac için her şey yüklü ve kullanılabilirken, Linux kullanıcıları ayrı ayrı bir şeyler yazıp yükleme ve bir şeyleri
çözme zahmetinden geçmelidir

Yanıtlar:


277

Ayrıca Docker Compose'u kurmanız gerekir. Kılavuza bakın . İşte yürütmeniz gereken komutlar

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
İkinci hattı çalıştırırken bir yanıt mv: rename ./docker-compose to /usr/bin/docker-compose: Operation not permitted
alıyorum

4
@kuanb iznin izin verilmediğini söylüyorsa, tam sudo haklarına sahip olduğunuzdan emin olun
killstreet

Şimdilik 1.7.0 sürümü eski. Docs.docker.com/compose/install'a göre yeni sürüm 1.11.2'dir . O yerine bukle -L demektir github.com/docker/compose/releases/download/1.7.0/...uname -s - uname -m> ./docker-compose kullanılması gerektiğini bukle -L github.com/docker/compose/releases/download/ 1.11.2 /…uname -s - uname -m> ./docker-compose
Yuriy Zaletskyy

1
GitHub sürümünü gösteren bağlantının güncel olmadığından emin olun! GitHub'daki en son sürümlere göz atın . En son dosyayı da tarayıcıdan indirebilir, ardından taşıyın ve bunun için çalıştırılabilir izin verin.
totymedli

1
Hâlâ docker hakkında bilgi alıyorum, ancak anladığım kadarıyla docker-compose, tüm özellikleri ana docker-cli'ye docker stackve docker swarm ile entegre edildiğinden yeni kurulumlar için kullanılmamalıdır . vsupalov.com/difference-docker-compose-and-docker-stack . Belki de bu yanıt, docker-compose ararken Google'da ilk göründüğü için bahsetmelidir
Eloims

40

Raspbian 8 ile bir Raspberry Pi 3 üzerine kuruyorum. Curl yöntemi benim için başarısız oldu (istendiğinde bir line 1: Not: command not foundhata docker-compose --versionoluştu) ve @ sunapi386'nın çözümü biraz eski göründü, bu yüzden işe yarayan şunu denedim:

Önce önceki çabalardan bir şeyler temizleyin:

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

Ardından , Rpi'de yeniden docker-compose bu kılavuzu izleyin :

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

Benim için (1 Kasım 2017'de) bu, aşağıdaki yanıtlarla sonuçlanır docker-compose --version:

docker-compose version 1.16.1, build 6d1ac219

6
Çözümünüz mükemmel çalışıyor! Docker-compose'un en son sürümüne ihtiyacınız yoksa kullanabilirsiniz apt-get install docker-compose. Elbette bu, docker deposunu apt'nizin sources.listesine eklemenizi gerektirir (get.docker.com'dan yükleme betiği bunu sizin için otomatik olarak gerçekleştirir). Ancak, Raspian Stretch Lite ile benim Ahududu Pi 3 bu gerçekten eski sürümde sonuçlandı: docker-compose version 1.8.0, build unknown. Bu sürüm o kadar eskidir ki, docker-compose dosya biçiminin yalnızca 2. sürümünü destekler.
robert

Harika bu, aws'de docker-comps hatası almamda bana yardımcı oldu. Teşekkürler
Laser Hawk

1
Bazı sorunlar yaşadım ve docker-compose için 'apt purge' ve 'pip uninstall' kullandım ve sonra tekrar yeniden yükledim (birinin veya ikisinin birden olup olmadığından emin değilim), ancak çözümün önemli kısmı da şuydu: pip install --upgrade docker-py
mirek

Mükemmel! herhangi bir curl, chmod ve sürüm kontrolü olmadan. Son sürümü otomatik olarak yükleyin. Cevap olarak kabul edilmelidir.
Cherry

Docker-compose'u yüklemek için pip kullanırken bir sürü hata oluştu. Siz de yaparsanız, bu yanıtı deneyin stackoverflow.com/a/43012312/430773
Vik

10

Raspbian OS üzerinde bir Raspberry Pi 3 üzerine kuruyorum. curlYöntem geçerli bir yanıta çözmedi. Ayrıca {error: Not Found}, URL'ye bir göz attım https://github.com/docker/compose/releases/download/1.11.2/docker-compose-Linux-armv7lve geçerli olmadığını da söyledi . Sanırım orada yapı yoktu.

Bu kılavuz https://github.com/hypriot/arm-compose benim için çalıştı.

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

Eğer varsa liman işçisi yüklü gibi, depo listeye onların resmi depo ekleyerek:

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

Sadece yap:

$ sudo apt-get install docker-compose

RHEL tabanlı dağıtım / Fedora durumunda:

$ sudo dnf install docker-compose

1
Apt get - docker CE için belirledikleri depoları ekledikten sonra bile, yalnızca sürüm 2'nin docker-composemaksimum docker-compose.ymldosyasıyla uyumlu olan 1.8'i içeriyor gibi görünüyor . Başka bir deyişle, artık varsayılan depolara veya kendi uygunluklarına yayınlamıyorlar docker-compose. apt-getdepoyu alın. Daha yeni sürümler almak için kullanmanız gerekiyor gibi görünüyor pip. Bu beni rahatsız ediyor, çünkü pipi tam anlamıyla kullandığım tek şey bu.
Groostav

6

Debian'dayım, yapacak oldukça doğal bir şey buldum:

apt-get install docker-compose

ve işi yaptı (centos'ta test edilmedi)


5

her şeyden önce lütfen docker-compose'un kurulu olup olmadığını kontrol edin,

$ docker-compose -v

Yüklenmemişse, lütfen https://docs.docker.com/compose/install/ kurulum kılavuzuna bakın. Yüklendiyse, ikili programa yürütülebilir izin verin.

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

bunun işe yarayıp yaramadığını kontrol edin.


1

Yukarıda verilen cevaplara atıfta bulunarak (bireysel çözümlere ayrı ayrı atıfta bulunmak için yeterli itibarım yok, bu nedenle bunu bu yerde toplu olarak yapıyorum), bazı önemli önerilerle tamamlamak istiyorum:

  1. docker-compose, depodan yükleyebilirsiniz (depoda bu paket varsa, sisteme bu paketle bir depo ekleyemezseniz) veya use curl - totourial ile projenin resmi web sitesinde - src ikilisini indirebilirsiniz: https://docs.docker.com/compose/install /

  2. depodan docker-compose 1.8.0 sürümünde (en azından ben). Bu docker-compose sürümü, sürüm 3'teki yapılandırma dosyalarını desteklemez. Yalnızca sürüm = <2 desteği vardır. Projenin resmi sitesinde, sürüm 3 - src'de kapsayıcı yapılandırmasının kullanılması için bir öneridir: https://docs.docker.com/compose/compose-file / compose-versioning /. Docker'da çalışmayla ilgili kendi deneyimlerime göre, sürüm 3'te kapsayıcı yapılandırmalarını kullanmanızı tavsiye ederim - <3 sürümlerine göre kullanılacak daha fazla yapılandırma seçeneği var. Yapılandırma yapılandırmalarını sürüm 3'te kullanmak istiyorsanız, docker-compose'u en az 1.17 sürümüne, tercihen en son kararlı sürümüne güncellemeniz / yüklemeniz gerekir. Projenin resmi sitesi, bu işlemin nasıl yapılacağına dair geneldir - src:https://docs.docker.com/compose/install/

  3. eski docker-compose ikili dosyalarını manuel olarak kaldırmaya çalıştığınızda, varsayılan yolda eksik dosya hakkında bilgi sahibi olabilirsiniz /usr/local/bin/docker-compose. Benim durumumda, docker-compose varsayılan / usr / bin / docker-compose yolundaydı. Bu durumda, sana ikili dosya liman işçisi-oluşturma deneyimini bulmak için sistemde bulmak aracını kullanmanızı öneririz - örneğin sözdizimi: sudo find / -name 'docker-compose'. Bana yardımcı oldu. Bu sayede eski docker-compose sürümünü kaldırdım ve kararlı olanı sisteme ekledim - curl aracını docker-compose ikili dosyasını indirmek, doğru yola koymak ve ona doğru izinleri vermek için kullanıyorum - tüm bu süreçte yukarıdaki yazılarda açıklanmıştır.

Saygılarımızla, Adam


0

Docker'ı kurmak, docker-compose'u kurduğunuz anlamına gelmez. Önceden yapmış olduğunuz docker motorunu önceden kurmuş olmanız önkoşul olarak vardır. Bundan sonra, Centos 7 için bu bağlantıyı izleyerek docker-compose yükleyebilirsiniz .


Hayır, bu "yum install docker-engine" komutunu çalıştırdım ama Paket docker-engine-1.11.0-1.el7.centos.x86_64 zaten kurulu ve en son sürüm hatası alıyorum ve hala docker-compose yok bu bana hata veriyor / usr / local / bin / docker-compose: satır 1: {hata: Bulunamadı}: komut bulunamadı
mahen3d

Dediğim gibi: Docker motoru Docker'dan farklı bir şey. Böylece docker motorunu kurabilir ve sadece docker ile çalışabilirsiniz, ancak docker compose kullanmak istediğinizde onu ayrı olarak kurmanız gerekir (burada motorun kurulumu bir önkoşuldur (bunu zaten yaptınız)). Şimdi cevapta verdiğim bağlantıyı deneyin (docker-
compose'u

0

docker-compose şu anda docker (-engine) kullanan, ancak docker dağıtımına dahil edilmeyen bir araçtır.

Kurulum kılavuzunun bağlantısı: 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 gelecekte değişecek)



0

Yukarıdaki çözümler benim için işe yaramadı. Ama işe yarayan şunu buldum:

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

Linux'ta, Docker Compose ikili dosyasını GitHub'daki Compose deposu sürüm sayfasından indirebilirsiniz. İkilileri indirmek için terminalinizde curl komutunu çalıştırmayı içeren bağlantıdaki talimatları izleyin. Bu adım adım talimatlar da aşağıda yer almaktadır.

1: Docker Compose'un geçerli kararlı sürümünü indirmek için bu komutu çalıştırın:

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

Farklı bir Compose sürümünü yüklemek için, 1.26.2'yi kullanmak istediğiniz Compose sürümüyle değiştirin.

2: Çalıştırılabilir izinleri ikiliye uygulayın:

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

Not: docker-compose komutu kurulumdan sonra başarısız olursa, yolunuzu kontrol edin. Ayrıca / usr / bin veya yolunuzdaki başka bir dizine sembolik bir bağlantı da oluşturabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.