저번 포스팅에서 AWS를 이용한 Linux를 구성했고, 이번 단계에서는 Docker 와 여러 Container를 가지는 애플리케이션을 통합적으로 만들고 각각의 컨테이너를 시작 및 중지를 더 쉽게 할수 있게 해주는 Docker Compose를 설치 해보겠다.
참고 문서
Ubuntu 에서 Docker 엔진 구성하기
Ubuntu 에서 Docker Compose 구성하기
OS Requirement
Ubuntu 버전은 잘 맞는 것을 확인했다.
apt-get 패키지 관리 도구를 사용하여 설치를 해볼 것이다.
1. apt-get 패키지 관리 도구 업데이트
$ sudo apt-get update
2. 필요 패키지 다운로드
$ sudo apt-get install ca-certificates curl
3. 폴더 생성과 Permission 설정
$ sudo install -m 0755 -d /etc/apt/keyrings
4. Docker의 공식 GPG 키를 다운로드하여 /etc/apt/keyrings/docker.asc 파일에 저장
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
5. /etc/apt/keyrings/docker.asc 파일에 대해 모든 사용자에게 읽기 권한을 부여
$ sudo chmod a+r /etc/apt/keyrings/docker.asc
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
위 명령어를 입력하니 다운로드가 막 되고, 아래와 같은 창이 떴다.
kernal을 최신 버전으로 업데이트 하라는 알림이었다. OK해주고, 업데이트 할것도 확인하고 업데이트를 진행해줬다.
아래 명령어를 입력했을 때 아래와 같이 버전을 확인할 수 있다.
$ docker --version
Docker Image가 Install 잘 되었는지 확인하는 과정이다.
$ sudo docker run hello-world
docker 명령어를 사용하기 위해서는 Permission을 지정해주어야 한다. (설치할 때는 root 계정으로 sudo
)
지금 접속한 계정을 docker 그룹에 추가
$ sudo usermod -aG docker $USER
chmod 명령어를 이용해 ubuntu 계정에서도 실행할 수 있도록 변경해주었다.
사실 권한을 줄 때 777은 권장하지 않긴하다.. ㅎㅎ
$ sudo chmod 777 /var/run/docker.sock
Docker Compose란 쉽게 말해서 여러 컨테이너를 가지는 Docker 애플리케이션을 정의하기 위한 툴이다.
Compose를 사용하면 yaml 파일을 사용하여 애플리케이션의 서비스를 구성할 수 있다.
1. curl 명령어를 사용하여 docker-compose 다운로드
curl 명령어를 사용하여 docker-compose를 다운로드 한다.
github_docker-compose 이 링크로 들어가면 최신 버전을 확인하고 다운로드 받을 수 있다.
$ sudo curl -L "https://github.com/docker/compose/releases/download/2.24.7/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2. 다운로드 한 compose 파일을 실행 가능하도록 권한 변경
$ sudo chmod +x /usr/local/bin/docker-compose
3. 심볼릭 링크 설정
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
$ docker compose version