Docker가 설치되어 있지만 Docker Compose는 설치되어 있지 않습니까? 왜?


127

다음 명령을 실행하여 centos 7에 docker를 설치했습니다.

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

참고 : helloworld는 올바르게 실행되며 문제가 없습니다.

그러나 docker-compose (docker-compose.yml이 존재하고 유효 함)를 실행하려고 할 때 Centos에서만 오류가 발생합니다 (Windows 버전은 docker-compose 파일에 대해 잘 작동합니다)

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

5
재미있게도, Windows 및 Mac의 경우 모든 것이로드되고 사용 가능하지만 Linux 사용자는 항목을 별도로 입력하고 설치하고 항목을 파악해야하는 고된 작업을 거쳐야합니다 (물론 재미 있습니다)
killjoy

답변:


277

Docker Compose도 설치해야합니다. 설명서를 참조하십시오 . 실행해야하는 명령은 다음과 같습니다.

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
두 번째 줄을 실행할 때 응답을받습니다.mv: rename ./docker-compose to /usr/bin/docker-compose: Operation not permitted
kuanb

4
@kuanb 권한이 허용되지 않는 경우 u가 완전한 sudo 권한을 얻었는지 확인하십시오
killstreet

현재 버전 1.7.0은 오래되었습니다. docs.docker.com/compose/install 에 따르면 새 버전은 1.11.2입니다. 또한 그 대신 컬 -L 수단 github.com/docker/compose/releases/download/1.7.0/...uname -s - uname -m> ./docker-compose 사용해야 컬 -L github.com/docker/compose/releases/download/ 1.11.2 / ...uname -s - uname -m> ./docker-compose
YURIY Zaletskyy

1
GitHub 릴리스를 가리키는 링크가 오래되지 않았는지 확인하십시오! GitHub 에서 최신 릴리스를 확인하십시오 . 브라우저에서 최신 파일을 다운로드 한 다음 이동하여 실행 권한을 부여 할 수도 있습니다.
totymedli

1
나는 여전히 docker에 대해 배우고 있지만, 모든 기능이 docker-cli docker stack및 docker swarm 과 함께 기본 docker-cli에 통합되었으므로 docker-compose를 새로운 설치에 사용해서는 안된다는 것을 이해합니다 . vsupalov.com/difference-docker-compose-and-docker-stack . 아마도이 답변은 docker-compose를 찾을 때 Google에 처음 표시되므로 언급해야합니다.
Eloims

40

Raspbian 8과 함께 Raspberry Pi 3에 설치 중입니다. curl 메서드가 실패했고 ( line 1: Not: command not found요청시 오류가 발생했습니다 docker-compose --version) @ sunapi386의 솔루션이 약간 오래된 것 같았 기 때문에이 작업을 시도했습니다.

먼저 이전 작업에서 정리 :

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

그런 다음 Rpi에서 docker-compose를 다시 작성하십시오 .

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

저에게 (2017 년 11 월 1 일)이 결과는 다음에 대한 다음과 같은 응답을 가져옵니다 docker-compose --version.

docker-compose version 1.16.1, build 6d1ac219

6
솔루션이 완벽하게 작동합니다! 최신 버전의 docker-compose가 필요하지 않은 경우 apt-get install docker-compose. 물론,이를 위해서는 Docker 저장소를 apt의 sources.list에 추가해야합니다 (get.docker.com의 설치 스크립트가 자동으로 수행함). 그러나 Raspian Stretch Lite를 사용하는 내 Raspberry Pi 3에서 이것은 정말 오래된 버전 인 docker-compose version 1.8.0, build unknown. 이 버전은 너무 오래되어 docker-compose 파일 형식의 버전 2 만 지원합니다.
로버트

이것은 aws에서 docker-comps 오류를 얻는 데 도움이되었습니다. 감사합니다
레이저 호크

1
몇 가지 문제가 있었고 docker-compose에 'apt purge'및 'pip uninstall'을 사용하고 다시 다시 설치했지만 (하나 또는 둘 다 확실하지 않음) 솔루션의 중요한 부분은 다음과 같습니다. pip install --upgrade docker-py
미렉

완전한! curl, chmod 및 버전 검사없이. 마지막 버전을 자동으로 설치하십시오. 대답으로 받아 들여야합니다.
Cherry

pip를 사용하여 docker-compose를 설치할 때 많은 오류가 발생했습니다. 당신도 그렇게한다면,이 답변을 시도하십시오 stackoverflow.com/a/43012312/430773
Vik

10

Raspbian OS의 Raspberry Pi 3에 설치하고 있습니다. curl방법은 유효한 응답에 해결되지 않았다. 또한 {error: Not Found}, URL을 살펴 https://github.com/docker/compose/releases/download/1.11.2/docker-compose-Linux-armv7l보았지만 유효하지 않았습니다. 거기에는 빌드가 없었던 것 같아요.

이 가이드 https://github.com/hypriot/arm-compose 가 저에게 효과적이었습니다.

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

공식 저장소를 저장소 목록에 추가하여 다음과 같이 docker설치 한 경우 :

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

그냥 해:

$ sudo apt-get install docker-compose

RHEL 기반 배포판 / Fedora의 경우 :

$ sudo dnf install docker-compose

1
아파트 GET라는 말이다들이 고정 표시기의 CE에 지정하는 저장소를 추가 한 후에 만 포함 된 것으로 보인다 docker-compose최대의와 호환되는 1.8, docker-compose.yml즉 버전 2의 파일을 더 이상 출판하지있어 docker-composeapt-get기본 저장소 또는 자신의 apt- 저장소를 가져옵니다. 최신 버전을 얻으려면 pip. 말 그대로 내가 pip를 사용하는 유일한 것이기 때문에 이것은 나를 짜증나게합니다.
Groostav

6

나는 데비안을 사용하고 있는데 아주 자연스러운 것을 발견했습니다.

apt-get install docker-compose

그리고 그것은 일을했습니다 (centos에서 테스트되지 않음)


5

먼저 docker-compose가 설치되어 있는지 확인하십시오.

$ docker-compose -v

설치되지 않은 경우 설치 가이드 https://docs.docker.com/compose/install/을 참조하십시오. 설치된 경우 바이너리에 실행 권한을 부여하십시오.

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

이것이 작동하는지 확인하십시오.


1

위에 제공된 답변을 참조하여 (개별 솔루션을 개별적으로 참조 할 수있는 평판이 충분하지 않으므로 여기에서 집합 적으로 수행합니다) 몇 가지 중요한 제안으로 보완하고 싶습니다.

  1. docker-compose는 저장소에서 설치하거나 (저장소에이 패키지가있는 경우이 패키지로 저장소를 시스템에 추가 할 수없는 경우) 프로젝트의 공식 웹 사이트에서 curl-totourial을 사용하여 바이너리를 다운로드 할 수 있습니다.-src : https://docs.docker.com/compose/install /

  2. 저장소의 docker-compose는 버전 1.8.0 (적어도 나)입니다. 이 docker-compose 버전은 버전 3의 구성 파일을 지원하지 않습니다. 버전 = <2 지원 만 있습니다. 프로젝트의 공식 사이트에는 버전 3-src : https://docs.docker.com/compose/compose-file / compose-versioning / 에서 컨테이너 구성을 사용하는 것이 좋습니다 . Docker 작업에 대한 내 경험으로 볼 때 버전 3에서 컨테이너 구성을 사용하는 것이 좋습니다. 버전 <3에서보다 사용할 구성 옵션이 더 많습니다. 버전 3에서 구성 구성을 사용하려면 docker-compose를 최소 1.17 버전 (가급적 최신 안정 버전)으로 업데이트 / 설치해야합니다. 프로젝트의 공식 사이트는이 프로세스를 수행하는 방법을 소개합니다-src :https://docs.docker.com/compose/install/

  3. 이전 docker-compose 바이너리를 수동으로 제거하려고하면 누락 된 파일에 대한 정보가 기본 경로에있을 수 /usr/local/bin/docker-compose있습니다. 제 경우에는 docker-compose가 기본 경로 / usr / bin / docker-compose에있었습니다. 이 경우 시스템의 찾기 도구를 사용하여 이진 파일 docker-compose-example syntax : sudo find / -name 'docker-compose'. 그것은 나를 도왔다. 덕분에 이전 docker-compose 버전을 제거하고 시스템에 stable을 추가했습니다. curl 도구를 사용하여 바이너리 파일 docker-compose를 다운로드하고 올바른 경로에 넣고 올바른 권한을 부여합니다.이 모든 프로세스에는 위의 게시물에 설명되어 있습니다.

감사합니다, Adam


0

docker 설치는 docker-compose를 설치했음을 의미하지 않습니다. 이미 수행 한 도커 엔진을 이미 설치했다는 전제 조건이 있습니다. 그 후 Centos 7에 대한 이 링크 를 따라 docker-compose를 설치할 수 있습니다.


아니요, "yum install docker-engine"명령을 실행했지만 패키지 docker-engine-1.11.0-1.el7.centos.x86_64 이미 설치되어 있고 최신 버전이 있지만 여전히 docker-compose 오류가 발생합니다. usr / local / bin / docker-compose : 줄 1 : {error : Not Found} : 명령을 찾을 수 없음
mahen3d

내가 말했듯이 Docker 엔진은 Docker가 작성한 것과는 다른 것입니다. 따라서 docker 엔진을 설치하고 docker로 작업 할 수 있지만 docker compose를 사용하려면 별도로 설치해야합니다 (엔진 설치가 전제 조건 인 경우 (이미 수행했습니다)). 그러니 지금 내가 대답에 준 링크를 시도해보십시오 (curl 또는 pip를 사용하여 docker-compose를 설치할 수 있음)
lvthillo

0

docker-compose는 현재 docker (-engine)을 활용하는 도구이지만 docker 배포에 포함되지 않습니다.

다음은 설치 설명서에 대한 링크입니다. 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은 향후 변경 될 예정입니다.)



0

위의 솔루션은 저에게 효과적이지 않았습니다. 그러나 나는 이것이 효과가 있음을 발견했습니다.

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에서는 GitHub의 Compose 리포지토리 릴리스 페이지에서 Docker Compose 바이너리를 다운로드 할 수 있습니다. 이진 파일을 다운로드하려면 터미널에서 curl 명령을 실행하는 링크의 지침을 따르십시오. 이러한 단계별 지침도 아래에 포함되어 있습니다.

1 :이 명령을 실행하여 Docker Compose의 현재 안정 릴리스를 다운로드합니다.

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

다른 버전의 Compose를 설치하려면 1.26.2를 사용하려는 Compose 버전으로 대체하십시오.

2 : 바이너리에 실행 권한을 적용합니다.

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

참고 : 설치 후 docker-compose 명령이 실패하면 경로를 확인하십시오. / usr / bin 또는 경로의 다른 디렉토리에 대한 심볼릭 링크를 만들 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.