본문으로 바로가기

[Ubuntu] docker / docker-compose 설치

category System/Linux & Unix 2019. 9. 18. 23:25

우분투 18.04.3 LTS 기준 작성입니다.

환경

vmware위의 우분투위에 일종의 vm인 도커를 깔다니 ㅎㅎ

1. 사전 준비

 curl등이 깔려있는지 한번 체크해봅시다.

sudo apt update

로 먼저 레포를 한번 업데이트해주고

sudo apt install apt-transport-https ca-certificates curl software-properties-common

으로 필요한 것들을 미리 설치해줍시다.

설치되는 패키지들은

curl, apt-transport-https, ca-certificates, software-properties-common

입니다.

 

2. 도커 설치를 위한 레포지토리 추가

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

그 다음

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

으로 레포를 추가해줍니다.

 

3. 설치준비

sudo apt update

레포지토리를 추가했으니 한번 업데이트 시켜줘야 합니다. 그 다음

apt-cache policy docker-ce

를 입력합시다.

도커 설치 준비

아래와 같이 나오면 됩니다. 현재는 설치되지 않아서 "설치 : (없음)" 으로 나옵니다.

영문판의 경우 install : (None) 일겁니다.. 아마?

 

4. 설치

그러면 이제 설치해봅시다.

sudo apt install docker-ce

를 이용하여 설치~

도커 설치

apt가 알아서 잘 설치해줍니다.

예전에 mysql 하나 설치하는데도 의존성 따져가면서 설치하던 때 생각하면 참 편리합니다...

 

이제 설치가 끝났겠네요.

 

5. 확인

설치가 됬으면 도커가 도는지 확인해야됩니다.

sudo systemctl status docker

를 입력해봅시다.

도커 동작 확인

active라는 글자가 보입니다. 도커 서비스가 잘 동작하고 있습니다.

 

6. 도커 컴포즈 설치

도커만 설치하면 다가 아닙니다. 도커 컴포즈라는것도 설치해주는게 좋습니다.

여러개의 컨테이너를 실행할 수 있도록 해주는 툴이라고 보면 됩니다.

 

도커 컴포즈의 최신버전 확인은

https://github.com/docker/compose/releases

 

docker/compose

Define and run multi-container applications with Docker - docker/compose

github.com

에서 확인하고 다운받으세요.

 

아래 한줄입니다.

sudo curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

sudo curl -L https://github.com/docker/compose/releases/download/v2.1.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

요 위는 한줄입니다. 입력하면

도커 컴포즈 설치

요렇게 나오는데 만약 sudo 를 잊거나 하면 바로 권한 오류가 뜨니 꼭 넣어주세요.

 

그 다음에

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

요렇게 권한 설정도 해줍시다.

 

7. 도커 컴포즈 설치 확인

그러면 이제 확인을 해봅시다.

docker-compose --version

를 입력하면

컴포즈 설치 확인

요렇게 버전이 나옵니다.

 

sudo usermod -aG docker $USER

로 도커를 사용할수 있게 설정하고 끝냅니다.