Infra/Docker

Docker 설치 및 컨테이너 실행 방법 초간단 (for window, Mac, Linux)

개발자 DalBy 2024. 5. 14. 17:00
반응형

Docker 설치 및 컨테이너 실행 방법 초간단 (for window, Mac, Linux)

 

이번 포스팅은 Docker 설치, 실행 실습에 대한 내용을 포스팅 하도록하겠습니다.

 

먼저 Docker라는 녀석을 사용하는 이유를 간단하게 설명하면 애플리케이션을 서비스 할 때 해당 서버를 구성하고 구축해야 합니다. 이러한 환경은 애플리케이션이 추가될 때마다 진행 해야하는 반복적인 작업이 되는데, 이것에 대한 자동화 시스템이라고 생각하면 될 것 같습니다. 해당 애플리케이션은 가상 공간에 설치하여 각각 격리된 지역(컨테이너)에서 구동합니다.  개발 -> 배포 -> 서비스 환경 문제를 쉽게 해결할 수 있습니다. 즉 Docker는 컨테이너라는 경량 단위로 애플리케이션을 실행하는 기능을 제공하는 플랫폼 입니다.

 

 

 

설치 방법

window, mac, linux version 설치 링크: 

https://docs.docker.com/get-docker/

 

Get Docker

Download and install Docker on the platform of your choice, including Mac, Linux, or Windows.

docs.docker.com

window와 mac은 Installer파일 다운로드 받고 설치하면 됩니다.

 

linux는 다음과 같습니다.

# 패키지 설치
sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common

# 도커 패키지 저장소 인증 인증 키
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 인증키 확인
sudo apt-key fingerprint 0EBFCD88

# pub, uid, sub 확인

# 저장소 추가
sudo add-apt-repository
"deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

# 도커 엔진 패키지 설치
sudo apt-get update
sudo gpt-get install docker-ce docker-ce-cli containerd.io

# 해당되는 도커 컴포즈를 별도 설치

 

 

설치가 완료 되었다면, 각각의 쉘 화면을 실행하여 

docker version

명령어 입력 후 Docker관련 문구가 나오면 정상 설치 완료입니다.

 

도커 버전

 

도커 이미지

docker images

 

 

해당 애플리케이션 실행 명령어

docker container run 실행할 애플리케이션

 

 

실행되는 애플리케이션은 도커에서 패키징 되어있는 것을 컨테이너 패키지라(도커에선 이미지) 합니다. 이미지를 이용해 컨터이너를 실행하려면 먼저 이미지가 있어야 합니다. run 명령어를 입력했을 때 이미지가 없다면 Unable to find image [] locally와 같은 메세지를 확인할 수 있습니다. 도커에서 이미지를 내려받는 것을 pull이라 합니다. 특정 애플리케이션을 실행하게 되면 몇 가지 정보를 확인 할 수 있습니다. 

 

컴퓨터 이름, 운영체제 종류, 네트워크 주소를 확인 할 수 있습니다.

 

 

 

 

마지막 잡담.

요즘은 어플리케이션 집을 이사한다. 이게 무슨말이냐면 자체 서버를 가진다는 것은 비용이 많이 든다. 하지만 서버, 스토리지, 네트워크까지 심지어 컴퓨터 전원까지.. 마이크로소프트나 구글, 아마존 등 사용량만 지불하면 알아서 관리 해 준다. 기존 애플리케이션 서버를 클라우드 환경에 이주 시키려면 서비스로서의 인프라(Iaas)와 서비스로서의 플랫폼(PaaS) 이렇게 선택지가 있다. PaaS는 우리 애플리케이션의 각 컴포넌트를 하나씩 클라우드의 managed service에 옮기는 까다로운 프로젝트를 진행해야 하고 특정 클라우드에 종속된다. 하지만 운영비가 절감된다. 반대로 IaaS는 애플리케이션의 각 컴포넌트를 가상 머신에서 동작시키게 된다. 특정 클라우드에 종속되지 않지만 운영비가 상승한다. Docker는 앞에서 언급한 내용에 단점이 없는 다른 선택지를 제공 해 준다. Docker를 사용하면 각 컴포넌트를 컨테이너로 이주한 후 Docker 클러스터나 Azure, AWS 컨테이너 서비스, Kubernetes 서비스 등 해당 서비스에서 전체 애플리케이션을 실행할 수 있다. 

 

계속 여러 회사의 자동화 및 인프라 서비스 제품이 나온다. 새로운, 트렌디한 기술을 배우고 사용하는 것은 좋지만, 너무 많이 의존하면 안 된다 생각한다. 100% 의존하게 된다면 나중에 울며 겨자를 먹어야하는 상황이 자주 오지 않을까 생각한다.....(흠...)

 

 



반응형