I can do it(Feat. DEV)

[Docker]AWS Ubuntu 서버에 도커 설치하기 본문

개발자 모드/개념

[Docker]AWS Ubuntu 서버에 도커 설치하기

까짓거 해보자 개발자 2024. 10. 31. 18:02
728x90
🗒️포스팅 계기

 

이번에 신규 개발 과정에서 본 서버에서 테스트를 하다보니 위험부담이 너무 커서 

 

기존에 있던 테스트서버를 부활시켜 활용해볼 예정..!!

 

하지만 문제가 DB에 데이터가 없기때문에 테스트하기에 제한적이라는 점!!

 

이를 해결하기 위한 방법은 여러가지 겠지만.. 가장 간단한 방법은

 

기존에 사용중이던 AWS RDS - PostgreSQL DB 서버에 메인 DB 데이터를 복원시키는 것!!

 

이 방법은 가장 간단하고 빠르지만 AWS RDS가 무료가 아니기에 비용이 추가적으로 발생함.

 

비용을 없애고 테스트 서버를 구축할 방법이 없을까 고민중에..!!🧐

 

저번에 로컬에 세팅한 도커 컴포즈 설정을 AWS 서버에 세팅하여

 

도커로 PostgreSQL 컨테이너를 만들어 비용도 없고, 메인 DB 데이터 복원도 간단하게 할 수 있게 세팅 해볼 예정임!!

 

그러기 위해서는 AWS 서버에 도커와 도커 컴포즈를 설치해야하는데 그 과정을 포스팅 해보겠음~😄

 

일전에 2024.09.11 - [개발자 모드/응용] - [CI/CD] Docker로 Jenkins Server 설치 및 실행(Feat. 우분투)[1편]

 

에서 언급한 적 있지만!! 중요한 부분인 듯 하여 따로 포스팅을 하였음~!👍


1. 도커 설치

 

일단 먼저 각자 도커와 도커 컴포즈를 설치할 AWS 서버에 접속!!

 

커맨드에서 아래 코드를 입력!!

# 시스템의 패키지 목록을 최신 상태로 업데이트
sudo apt update 
# 설치된 패키지들을 최신 버전으로 업그레이드를 하는데 
# 사용자가 입력하는 옵션 없이 자동으로 진행되도록 함
sudo apt upgrade -y

 

하면 패키지 목록을 최신화했고, 다음으로 도커와 의존되는 패키지를 설치를 해보겠음!!

 

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

 

도커를 설치하려면 HTTPS를 통한 패키지 다운로드, 인증서 관리, 외부 저장소 추가가 필요함.

 

이 명령어는 이러한 기능을 제공하는 패키지를 설치해줌.

 

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

 

이 명령어는 도커의 패키지에 대한 인증을 위해 GPG 키를 추가함. 

 

※ GPG 키란?
데이터의 무결성과 출처의 신뢰성을 보장하기 위해 사용되는 암호화 키
GPG는 GNU Privacy Guard의 약자로, 데이터를 암호화하고 서명하여 보안을 강화하는 방식 중 하나이며, 공개 키와 개인키로 구성되어 있음.

 

curl을 사용해 키를 다운로드하고, gpg를 통해 Ubuntu 시스템의 신뢰할 수 있는 키 목록에 저장함.

 

이렇게 하면 도커가 공식 소스에서 제공된다는 것을 시스템에 알릴 수 있음!!(안전하다는 것을 알려주는 듯??)

 

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

 

Docker의 패키지 저장소 정보를 시스템의 /etc/apt/sources.list.d/docker.list 파일에 추가하여, 패키지 관리자가 Docker 패키지를 설치하거나 업데이트할 때 사용할 수 있도록 설정함.

 

 

- $(dpkg --print-architecture) : 현재 시스템의 아키텍처(x86, x86_64, ARM 등)를 자동으로 확인해 저장소 링크에 반영

- $(lsb_release -cs) : 현재 Ubuntu 배포 코드를 확인해 적절한 버전을 설정

- > /dev/null : tee 명령어의 출력을 /dev/null로 리디렉션하여 화면에 출력되지 않도록 함.

 

이후 아래 명령어를 입력하여 패키지 목록을 최신화 한 뒤, docker 엔진을 설치함.

sudo apt update
sudo apt install -y docker-ce

 

docker-ce는 Docker Community Edition으로, 오픈 소스이며 무료로 제공함.

 

서비스 재시작 알람 화면

혹 필자처럼 서비스를 재시작해야한다는 화면이 나온다면

 

크게 상관이 없다고 가정하고 모든 서비스를 체크 후 ok를 진행하면 됨!!

 

방향키로 옵션(서비스)을 선택할 수 있고, 체크하고 싶으면 스페이스바를 누르면 됨!

 

탭키를 누르면 Ok와 Cancle 사이를 이동할 수 있고 선택했다면 엔터를 누르면 됨!!

 

이후 선택한 서비스가 재실행되는 것을 확인할 수 있음!!

 

sudo systemctl status docker

 

systemctl 명령어로 도커 서비스가 정상적으로 실행되는지를 확인!!

 

도커 상태 확인 화면

Active: active (running)로 나오고 있다면 정상적으로 설치가 되었음!!

 

또는 

 

sudo docker ps

 

명령어로 도커 컨테이너 조회를 해봤을 때 먹히면 잘 실행이 된 것이라고 생각해도 될 듯😄

 


2. 도커 컴포즈 설치

 

도커가 문제없이 설치되었다면 이젠 도커 컴포즈를 설치할 차례!!😋

 

도커만 잘 설치되었다면 도커 컴포즈는 금방 설치할 수 있음!

 

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

 

curl -L 명령어로 지정된 URL에서 도커 컴포즈의 최신 버전 파일을 다운로드하여 /usr/local/bin/docker-compose 경로에 저장함!!

 

- $(uname -s) : 운영 체제 이름을 반환(필자의 경우 > Linux)

- $(uname -m) : 시스템 아키텍처 반환(필자의 경우 > x86_64)

 

uname 명령어는 커맨드에서 사용해보면 바로 알 수 있음!!

uname 명령어 결과 화면

 

그리고 도커 컴포즈 명령어를 실행하기 위해 도커 컴포즈 바이너리 파일에 실행 권한을 부여해야 함!

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

 

권한이 올바르게 적용되었다면 

docker-compose --version

 

도커 컴포즈 버전을 확인하여 최종적으로 설치가 완료되었는지 확인하면 끝!!!😉

 

도커 컴포즈 버전 확인 화면

 

이런 식으로 도커와 도커 컴포즈를 설치하는 방법을 포스팅해보았음!!

 

확실히 정리를 하면서 설치를 해보니 머리에 더 오래 남는 것 같음!!👍

 

대신 시간이 오래걸리지만... 쩔 수 없음!! 그럼 포스팅은 여기까지 하겠음!!

 

긴 글 읽으시느라 고생하셨음!!😄🖐️

728x90