소개
Docker 는 개발자와 IT 전문가들이 애플리케이션을 관리하고 배포하는 방식을 혁신한 강력한 컨테이너화 플랫폼입니다. 이 튜토리얼에서는 Linux 시스템에서 Docker 컨테이너를 만드는 과정을 안내합니다. Docker 설치 및 구성부터 사용자 정의 컨테이너를 빌드하고 실행하는 방법까지 자세히 다룹니다.
Docker 는 개발자와 IT 전문가들이 애플리케이션을 관리하고 배포하는 방식을 혁신한 강력한 컨테이너화 플랫폼입니다. 이 튜토리얼에서는 Linux 시스템에서 Docker 컨테이너를 만드는 과정을 안내합니다. Docker 설치 및 구성부터 사용자 정의 컨테이너를 빌드하고 실행하는 방법까지 자세히 다룹니다.
Docker 는 개발자가 컨테이너 환경에서 애플리케이션을 구축, 배포 및 실행할 수 있도록 지원하는 인기 있는 오픈소스 플랫폼입니다. 컨테이너는 애플리케이션 실행에 필요한 코드, 런타임, 시스템 도구 및 라이브러리 등 모든 것을 포함하는 경량의 독립 실행형 실행 가능한 소프트웨어 패키지입니다.
Docker 컨테이너는 코드와 모든 종속성을 패키징하여 한 컴퓨팅 환경에서 다른 환경으로 애플리케이션을 빠르고 안정적으로 실행할 수 있도록 표준화된 소프트웨어 단위입니다. 컨테이너는 컨테이너 생성을 위한 청사진인 Docker 이미지로부터 생성됩니다. Docker 컨테이너는 서로 그리고 호스트 운영 체제로부터 분리되어 일관되고 예측 가능한 런타임 환경을 제공합니다.
sudo apt-get update
apt가 HTTPS 를 통해 리포지토리를 사용할 수 있도록 필요한 패키지 설치:sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) 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-compose-plugin
sudo docker run hello-world
sudo 없이 Docker 명령어를 실행할 수 있도록 사용자를 Docker 그룹에 추가:sudo usermod -aG docker $USER
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
sudo vi /etc/docker/daemon.json
다음 구성을 추가하고 파일 저장:
{
"storage-driver": "overlay2"
}
sudo systemctl restart docker
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
mkdir my-docker-project
cd my-docker-project
Dockerfile을 생성합니다.touch Dockerfile
Dockerfile을 열고 다음 내용을 추가합니다.## 기본 Ubuntu 22.04 이미지를 사용합니다.
FROM ubuntu:22.04
## 패키지 인덱스를 업데이트하고 필요한 패키지를 설치합니다.
RUN apt-get update && apt-get install -y \
nginx \
curl \
&& rm -rf /var/lib/apt/lists/*
## 기본 Nginx 구성 파일을 복사합니다.
COPY default.conf /etc/nginx/conf.d/
## Nginx를 위한 80번 포트를 노출합니다.
EXPOSE 80
## 컨테이너 시작 시 Nginx를 시작합니다.
CMD ["nginx", "-g", "daemon off;"]
default.conf을 생성합니다.server {
listen 80;
server_name example.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
docker build -t my-nginx-app .
docker run -d --name my-nginx-app -p 80:80 my-nginx-app
docker ps
curl http://localhost
docker stop my-nginx-app
docker start my-nginx-app
docker rm my-nginx-app
docker rmi my-nginx-app
docker-compose.yml 파일을 생성합니다.version: '3'
services:
web:
build: .
ports:
- "80:80"
docker-compose up -d
docker-compose down
이 튜토리얼을 마치면 Docker 와 그 기능에 대한 확실한 이해와 Linux 시스템에서 Docker 컨테이너를 생성, 관리 및 실행하는 실질적인 기술을 갖추게 될 것입니다. 이 지식은 애플리케이션 배포를 간소화하고, 확장성을 개선하며, 전반적인 DevOps 워크플로우를 향상시키는 데 도움이 될 것입니다.