웹 풀스택

Docker Engine 사용하기

kevinmj12 2025. 5. 13. 22:59

Docker는 가장 널리 이용되고 있는 컨테이너 기반 가상화 플랫폼이다.

애플리케이션을 컨테이너 단위로 격리하고, 애플리케이션을 실행하는 데 필요한 모든 것을 하나로 묶어, 어디서든 동일하게 실행할 수 있게 해준다.

Docker는 다음과 같은 장점들이 있다.

 

  • 환경 차이 문제 해결
    • 모든 컴퓨터에서 같은 환경으로 실행되기에 환경 차이 문제가 해결된다.
    • 개발, 테스트, 운영 환경을 동일하게 유지할 수 있다.
  • 배포가 쉬워짐
    • 앱과 그 앱이 실행되기 위한 모든 의존성을 한 이미지에 포함시킨다. 
    • 이미지 하나로 어디서든 앱을 실행할 수 있다.
  • 경량화된 가상화
    • 전통적인 VM보다 가볍고 빠르다.
    • 컨테이너는 OS 전체를 가상화하지 않고 필요한 프로세스만 격리한다.

 

Docker Desktop과 Docker Engine

Docker Desktop

  • GUI 제공으로 보다 간단한 컨테이너 및 서비스 관리가 가능하다.
  • 개발 환경에서 간단하게 사용된다.

Docker Engine

  • Linux의 프로세스 컨트롤 그룹을 이용하여 호스트 커널의 서비스들을 이용하며 격리되어 실행된다.
  • 서버나 클라우드에서 Docker 컨테이너를 실행할 때 주로 사용된다.

윈도우에서 WSL을 통해 Docker Engine을 실행해보자.

 

먼저 PowerShell에 wsl --install을 입력하여 wsl을 설치해준다.

설치가 완료되면 컴퓨터를 재부팅해준다.

 

설치가 완료되면 위와 같이 윈도우 기본 프로그램으로 ubuntu를 실행할 수 있다.

 

계정과 비밀번호를 입력하면 본격적으로 사용할 수 있다.

 

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

# Install the Docker packages.
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

위의 명령어들을 차례로 입력해준다.

참고로 위 명령어들은 아래 공식 설치 가이드라인 페이지에서 가져온 것이다.

 

https://docs.docker.com/engine/install/ubuntu/

 

Ubuntu

Jumpstart your client-side server applications with Docker Engine on Ubuntu. This guide details prerequisites and multiple methods to install Docker Engine on Ubuntu.

docs.docker.com

 

또한 docker info를 입력하였을 때 docker 정보가 잘 출력된다.

그런데, Server에서 권한이 거부되었다는 안내 문구가 출력된다.

Linux에서 일반 사용자 계정에서 docker 명령을 이용하려면 해당 사용자가 그룹 docker에 들어 있어야 하기 때문이다.

 

sudo usermod -aG docker $USER

위 명령어를 입력하여 권한을 추가해준다.

그러면 docker info를 입력하였을 때 정상적으로 서버에 대한 정보도 출력되는 것을 볼 수 있다.

docker run hello-world

정상적으로 설치가 완료되었다면, 위의 명령어를 입력하였을 때 hello-world가 pull되어 실행된다.