웹 어플리케이션 개발/Docker

Docker 환경을 사용해보자

invin 2024. 2. 14. 18:45

 

웹 어플리케이션 개발을 위한 필수 요소 중 하나인 Docker의 중요성을 모두가 인정하는 시대가 되었습니다. 이러한 Docker 환경은 개발에서 배포까지의 과정을 획기적으로 단순화하며, 개발자들이 동일한 환경에서 일관성 있게 작업할 수 있게 도와줍니다. 그러나 Docker를 활용하려면 먼저 제대로 설치하는 것부터 시작해야 합니다.

그래서 오늘은, Linux 환경에서 Docker를 설치하고 설정하는 방법에 대해 자세히 알아보려고 합니다. 이 과정을 통해 Docker의 기본적인 설치 및 환경 설정법을 익히실 수 있을 것입니다. 따라서, 이 글은 Docker를 처음 접하시는 분들에게 특히 유익할 것입니다.

 


 

0. Docker 환경은 왜 필요할까?

 

Docker를 사용해야하는 이유는 다음과 같습니다.

1) 환경 일관성 : Docker는 개발, 테스트, 프로덕션 환경에서 동일한 환경을 제공합니다. 이는 환경에 따른 오류를 최소화하고, 일관성을 보장합니다.


2) 빠른 배포와 확장성 : Docker를 사용하면 웹 애플리케이션과 그에 필요한 모든 의존성을 컨테이너로 패키지화할 수 있습니다. 이 컨테이너는 어떤 시스템에서도 빠르게 배포하고 실행할 수 있습니다. 또한, 도커 환경에서는 필요에 따라 쉽게 확장할 수 있습니다.


3) 리소스 효율성 : Docker는 가상화된 환경을 제공하기 때문에, 필요한 리소스를 효율적으로 사용할 수 있습니다. 여러 개의 컨테이너를 하나의 시스템에서 동시에 실행할 수 있으며, 각 컨테이너는 자신의 작업에 필요한 최소한의 리소스만 사용합니다.


4) 격리된 환경 : Docker 컨테이너는 서로 격리된 환경에서 실행됩니다. 이는 각 웹 애플리케이션의 독립성과 보안을 보장합니다.

 

5) 버전 관리와 복원 : Docker 이미지는 버전 관리 기능을 제공합니다. 이를 통해 이전 버전으로 쉽게 롤백하거나, 새로운 버전을 테스트할 수 있습니다.


6) 지속적인 통합/지속적인 배포(CI/CD) : Docker는 CI/CD 파이프라인과 잘 통합됩니다. 코드 변경 사항을 빠르게 테스트하고 프로덕션에 배포하는 것을 도와줍니다. CI/CD는 https://ai-stoster.tistory.com/24 여기에서 좀 더 자세히 보실 수 있습니다.


 

1. 기본 패키지 설치

 

설치에 앞서 리눅스 커널이 3.10 버전 이상이어야하고 64비트(x86_64)임을 확인해야합니다.

uname -a

 

위와 같은 명령어를 통해서 본인이 사용하고 있는 Linux 환경의 커널 정보와 비트를 확인 할 수 있습니다.

 

sudo apt update

 

또한 앞으로 사용할 apt-get install 이전에 apt 버전을 업데이트합니다.

 

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

 

Docker 사용에 필요한 패키지를 설치하는 명령어입니다. 위의 명령어에 대해서 차례로 설명하자면,

 

1) apt-transport-https : Docker에서 ce버전(좀 더 가벼운 버전)을 다운로드할 때 필요한 웹 주소가 https를 사용하기 위하여 설치합니다.

 

2) ca-certificates : https는 SSL이므로 인증서 기능이 필요하여 설치합니다.

 

3) curl : API 통신에서 필요하므로 설치합니다.

 

4) gnupg-agent : Docker에서 사용하는 패키지 가드 중 gnu package guard를 설치합니다.

 

5) software-properties-common : Docker repository에 접근하고 관리하기 위하여 설치합니다.

 


2. Docker Engine 설치

 

Ubuntu 22.04 버전부터는 보안 강화를 위해 apt key를 keyring이라는 기법을 이용해서 .gpg key에 저장하는 방식을 권장합니다.

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

 

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

 

 

위의 명령어를 통해 keyring에 key값을 등록합니다. 아마 apt-key is deprecated라는 경고 문구가 나타날 것입니다.

 

sudo apt-key fingerprint

 

 

위의 명령어를 통해 Docker Release라는 부분에서 등록된 key 값을 확인하실 수 있습니다.

 

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

 

 

debian 계열의 ubuntu를 keyring의 key 값을 사용하여 ubuntu 22버전의 release 버전 중 stable을 설치합니다.

 

sudo apt -y update

 

repository를 추가한 이후에는 apt를 업데이트하는게 좋습니다.

 

sudo apt -y install docker-ce

 

 

마지막으로 docker-ce를 설치합니다.

 

sudo docker version

 

 

Docker에서 sudo 명령어를 매번 사용하시기 귀찮으시다면 내 계정을 등록하여 sudo 사용없이 docker 명령어를 사용할 수 있습니다.

 

sudo usermod -aG docker [내계정]
sudo systemctl daemon-reload
sudo systemctl enable docekr
sudo systemctl restart docker
sudo reboot

 

 

이제 docker를 마음껏 사용하시면 됩니다.