이 글에서는 우분투 환경에서 도커를 설치하고, 간단한 컨테이너를 실행해 보는 과정을 따라가 볼 것입니다. 도커를 처음 접하는 분들도 쉽게 따라할 수 있도록 자세히 설명하겠습니다.
우분투 설치 -> 설치 방법
먼저, 우분투를 최신 상태로 업데이트합니다.
sudo apt update && sudo apt upgrade -y
도커를 설치하기 전에 필요한 패키지를 먼저 설치합니다.
sudo apt install apt-transport-https ca-certificates curl software-properties-common
도커 공식 GPG 키를 시스템에 추가합니다.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
도커 패키지를 다운로드 할 수 있도록 리포지토리를 설정합니다.
참고로 저는 맥북 M1(ARM기반) 칩을 사용하기 때문에 다를 수 있습니다.
echo "deb [arch=amd64 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
echo "deb [arch=arm64 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
이제 도커 엔진을 설치합니다.
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
docekr --version

도커가 제대로 작동하는지 확인하기 위해서 간단한 컨테이너를 실행해 봅니다.
sudo docker run hello-world

실행 중인 컨테이너를 확인하려면 아래 명령어를 입력하세요
sudo docker ps -a

웹 서버용으로 많이 쓰이는 Nginx 컨테이너르 실행해 봅니다.
sudo docker run -d -p 8080:80 nginx
-d : 백그라운드 실행-p 8080:80 : 호스트의 8080번 포트를 컨테이너 80번 포트에 연결

이제 브라우저에서 http://localhost:8080으로 접속하면 Nginx 기본 페이지를 볼 수 있습니다! 🎉
# 실행 중인 모든 컨테이너 확인
docker ps
# 실행 중이거나 중지된 모든 컨테이너 확인
docker ps -a
# 새로운 컨테이너 실행 (예: Nginx)
docker run -d -p 8080:80 --name my-nginx nginx
# 특정 컨테이너 정지
docker stop [컨테이너 ID 또는 이름]
# 정지된 컨테이너 다시 시작
docker start [컨테이너 ID 또는 이름]
# 정지된 컨테이너를 종료 및 삭제
docker rm [컨테이너 ID 또는 이름]
# 실행 중인 컨테이너 강제 종료 및 삭제
docker rm -f [컨테이너 ID 또는 이름]
# 모든 정지된 컨테이너 삭제
docker container prune -f
# 실행 중인 컨테이너의 로그 확인
docker logs [컨테이너 ID 또는 이름]
# 실행 중인 컨테이너에 접속 (예: Bash 쉘)
docker exec -it [컨테이너 ID 또는 이름] /bin/bash
# 실행 중인 컨테이너의 상태 확인
docker inspect [컨테이너 ID 또는 이름]
# 실행 중인 컨테이너의 리소스 사용량 확인 (CPU, 메모리 등)
docker stats
# 특정 컨테이너 이름 변경
docker rename [현재 이름] [새 이름]
# 실행 중인 컨테이너를 일시 정지
docker pause [컨테이너 ID 또는 이름]
# 일시 정지된 컨테이너 다시 시작
docker unpause [컨테이너 ID 또는 이름]
# 실행 중인 컨테이너 중지와 동시에 삭제
docker stop [컨테이너 ID 또는 이름] && docker rm [컨테이너 ID 또는 이름]
결론
이제 도커 설치부터 컨테이너 실행까지 기본적인 과정을 경험해 보셨습니다. 도커는 처음에는 조금 복잡해 보이지만, 이렇게 간단한 실습을 통해 익숙해질 수 있습니다.
다음 글에서는 도커 이미지 만들기와 Dockerfile 사용법에 대해 다뤄보겠습니다