Skip to main content

설치하기

About 1 min

Compose를 맥OS, 윈도우, 64비트 리눅스에서 실행할 수 있습니다.

사전요구사항

Docker Compose는 Docker Engine을 통해 다양한 동작을 수행하기 때문에, 로컬 또는 원격 등 환경구성에 따라 Docker Engine이 설치되어있어야 합니다.

  • 맥과 윈도우를 위한 Docker Desktop과 같은 데스크탑 시스템에서는 Docker Compose는 설치대상에 포함되어있습니다.

  • 리눅스 시스템의 경우, Docker Engine 설치하기를 참고하여 먼저 설치한 뒤,
    Compose 설치하기 절차를 진행하면 됩니다.

  • root 유저가 아닌 경우, root가 아닌 유저로 Docker 관리를 참고하세요.

Compose 설치

아래의 절차는 맥, 윈도우, 윈도우서버2016, 리눅스의 설치절차를 다루며 추가로 pip 파이선패키지관리자를 통한 설치 및 컨테이너내부에 설치를 다루고 있습니다.

다른버전 설치

아래의 절차는 Compose의 현재 안정버전(v1.28.4)을 설치하는 것입니다.
다른 버전의 Compose를 설치하려면, 릴리즈 번호를 원하는 버전으로 바꾸면 됩니다.
Github의 Compose 저장소 릴리즈 페이지open in new window에서 직접 다운가능한 릴리즈 버전의 목록을 볼 수 있습니다.
Compose의 사전릴리즈를 설치하려면, 사전릴리즈 빌드를 참고하세요.

맥에서 설치

Docker Desktop for Mac은 다른 Docker 앱과 함께 Compose가 포함되어있습니다.
따라서 맥 사용자는 Compose를 따로 설치할 필요가 없습니다.
설치절차는 Docker Desktop on Mac 설치를 참고하세요.

윈도우에서 설치

Docker Desktop for Windows는 다른 Docker 앱과 함께 Compose가 포함되어있습니다.
따라서 대부분 윈도우 사용자는 Compose를 따로 설치할 필요가 없습니다.
설치절차는 Docker Desktop on Windows 설치를 참고하세요.

만약 윈도우서버에서 Docker 데몬과 클라이언트를 실행할 경우에는 아래 윈도우서버에서 설치절차를 따르시기 바랍니다.

윈도우서버에서 설치

윈도우 서버에서 Docker 데몬과 클라이언트를 직접 실행고 Docker Compose를 설치하려면 아래 절차를 수행하시면 됩니다.

  1. 관리자 권한으로 PowerShell을 실행합니다.
    PowerShell을 검색한 뒤, 오른쪽 클릭하고 관리자 권한으로 실행을 선택합니다.
    이 앱이 장치를 변경할수 있다는 질문이 표시되면 를 선택합니다.

  2. GitHub에서 TLS1.2가 필요하며로 PowerShell에서 다음을 수행합니다.

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    

    그후 최신 안정화 버전인 Compose (v1.28.4)를 다음 명령으로 다운로드 합니다.

    Invoke-WebRequest "https://github.com/docker/compose/releases/download/1.28.4/docker-compose-Windows-x86_64.exe" -UseBasicParsing -OutFile $Env:ProgramFiles\Docker\docker-compose.exe
    

    정보: Windows 서버 2019에서는 Compose 실행파일을 $Env:ProgramFiles\Docker에 추가합니다. 이 디렉터리는 시스템 PATH에 등록되어있기 때문에, 추가 절차없이 docker-compose --version 명령을 실행할 수 있습니다.

    다른 버전의 Compose를 설치하려면, 1.28.4를 원하는 버전으로 변경하시면 됩니다.

  3. 설치를 테스트합니다.

    docker-compose --version
    
    docker-compose version 1.28.4, build 01110ad01
    

리눅스에서 설치

리눅스에서는 Github의 Compose 저장소 릴리즈 페이지open in new window에서 Docker Compose 바이너리를 다운받을 수 있습니다.

링크의 바이너리를 다운받기 위해 터미널에서 curl 명령으로 다음을 수행하면 됩니다.
단계별 절차는 아래와 같습니다.

alpine에서는 다음의 종속 패키지가 필요합니다.
py-pip, python-dev, libffi-dev, openssl-dev, gcc, libc-dev, rust, cargo, make

  1. 현재 Docker Compose의 안정버전을 다운받으려면 다음을 실행합니다.

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

    다른 버전의 Compose를 설치하려면, 1.28.4를 원하는 버전으로 변경하시면 됩니다.

    curl사용에 문제가 있다면 다른방법으로 설치를 참고하시기 바랍니다.

  2. 바이너리에 실행권한을 설정합니다.

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

    정보: 설치후 docker-compose명령이 실패한다면, PATH를 확인해보시기 바랍니다.
    /usr/bin 또는 PATH에 정의된 다른 디렉터리에 심볼릭링크를 생성하면 됩니다.

    예로들어:

    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
    
  3. 선택적으로 bashzsh 쉘에 자동완성을 설치하시기 바랍니다.

  4. 설치를 테스트 합니다.

    $ docker-compose --version
    docker-compose version 1.28.4, build 1110ad01
    

다른방법으로 설치

pip로 설치

alpine에서는 다음의 종속 패키지가 필요합니다.
py-pip, python-dev, libffi-dev, openssl-dev, gcc, libc-dev, rust, cargo, make

pip를 사용해 pypiopen in new window에서 Compose를 설치할 수 있습니다.
pip를 설치할 때, virtualenvopen in new window를 사용하는 것을 추천합니다.
많은 OS가 가지고 있는 파이선 시스템 패키제엇 docker-compose 종속성과 충돌이 발생할 수 있기 때문입니다.
virtualenv 튜토리얼open in new window을 통해 시작해볼 수 있습니다.

pip install docker-compose

만약 virtualenv를 사용하지 않으면,

sudo pip install docker-compose

pip는 6.0 이상의 버전이 필요합니다.

컨테이너로 설치

Compose는 간단한 bash 스크립트로 컨테이너 내부에서도 동작가능합니다.
컨테이너에 compose를 설치하려면 다음 명령을 실행합니다.

sudo curl -L --fail https://github.com/docker/compose/releases/download/1.28.4/run.sh -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

사전릴리즈 빌드

사전릴리즈에 관심이 있다면, Github의 Compose 저장소 릴리즈 페이지open in new window에서 릴리즈 후보군을 다운받을 수 있습니다.

링크의 바이너리를 다운받기 위해 터미널에서 curl 명령으로 다음을 수행하면 됩니다.
단계별 절차는 아래와 같습니다.

"master" 브랜치에서 빌드된 사전릴리즈는 https://dl.bintray.com/docker-compose/master/open in new window에서 다운받을 수 있습니다.

사전릴리즈는 릴리즈하기전 새로운 기능을 사용해볼수 있으나 안정을 보장하진 않습니다.

업그레이드

1.2 이하 버전에서 업그레이드 하려면 Compose를 업그레이드한 뒤 기존 컨테이너를 삭제하거나 전환해야합니다.
이것은 버전 1.3부터 Compose는 컨테이너 추적을 위한 Docker 라벨을 사용하며 이 라벨을 추가하기위해 컨테이너를 재생성해야합니다.

라벨없이 컨테이너 생성이 감지되면 실행을 거부하므로 두셋트가 되지 끝나지 않습니다.
기존 컨테이너를 유지하고지 한다면(예로 저장하고자 하는 데이터 볼륨을 가지고 있을 경우) Compose 1.5.x를 사용하여 아래 명령으로 전환합니다.

docker-compose migrate-to-labels

다른방법으로, 유지가 필요없는 경우 삭제하시면 됩니다.
Compose에서 새롭게 다시 생성합니다.

docker container rm -f -v myapp_web_1 myapp_db_1 ...

설치제거

curl을 사용하여 설치했다면 다음명령으로 삭제할 수 있습니다.

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

pip를 사용하여 설치했다면 다음명령으로 삭제할 수 있습니다.

pip uninstall docker-compose

"권한 거부(Permission denied)" 오류가 발생했다면?

삭제할 때 "권한 거부(Permission denied)"가 발생했다면 아마 docker-compose를 삭제하기 위한 적절한 권한이 없어서입니다.
강제로 삭제할 경우, 각 명령어 앞에 sudo를 추가하고 다시하시면 됩니다.

다음으로