LainyZine: 프로그래머 가이드 🐣

개발자를 위한 Docker 사용법 총 정리

Docker는 동명의 회사에서 개발하고 있는 리눅스 컨테이너(Linux Container)를 구현하고 관리하는 도구입니다. 리눅스 컨테이너는 리눅스 커널들의 기능(Cgroup, Namespaces, root 격리, 유니온 마운트)들을 조합해서 경량 가상화를 구현하는 기술입니다. 하드웨어까지 가상화하는 가상 머신보다 훨씬 가볍게 애플리케이션 실행 환경을 격리할 수 있다는 장점을 가지고 있어 서비스 배포 뿐만 아니라 테스트 환경 구축과 개발 환경 구성 등 다양한 용도로 활용되고 있습니다. Docker는 리눅스 컨테이너 관리 도구 중 가장 유명한 도구로, 2021년 현재 개발자들이 필수적으로 이해하고 있어야하는 기술이자 도구입니다. 🐳

LainyZine에서도 Docker 설치부터 명령어 소개와 활용까지 다양한 글을 연재하고 있습니다. 이 글에는 LainyZine에서 연재중인 Docker와 관련된 글을 총 정리했습니다.

(이 글은 Docker와 관련된 글이 추가될 때마다 비정기적으로 업데이트됩니다.)

운영체제 별 Docker 설치 방법

Docker는 리눅스 컨테이너를 관리하는 도구로 이름에서 알 수 있듯이 리눅스를 기반으로 동작합니다. 다음 글에서는 다양한 리눅스 환경과 리눅스 이외의 환경에서 Docker를 설치하는 방법을 소개합니다.

Docker 팁

Docker를 사용하다보면 로컬 시스템에 많은 컨테이너와 이미지가 정리되지 않고 쌓이곤 합니다. 다음 글에서는 컨테이너와 이미지들이 필요하지 않은 경우 한꺼번에 정리하는 방법을 소개합니다.

Docker 팁: 로컬 시스템의 모든 컨테이너와 이미지 삭제하기

Docker Hub

Docker에서는 이미지를 원격에 저장할 수 있는 Docker Hub 서비스를 공식적으로 제공하고 있습니다. Docker Hub에는 이미지를 올리고(Push), 다른 머신에서 다시 받아서(Pull) 사용할 수 있습니다. 아래 글에서는 공식 Docker Hub 사이트에 계정을 생성하는 방법을 소개합니다.

Docker Hub에서는 직접 만든 이미지를 올리고 내려받아서 사용할 수 있을 뿐만 아니라 다양한 공식 이미지(Official Images)들을 제공하고 있습니다. 공식 이미지는 다른 이미지를 만들 때 베이스로 활용될 뿐만 아니라, Nginx, Redis, MySQL 등 응용 애플리케이션 안전하게 바로 사용할 수 있도록 도와줍니다. 다음 글에서는 공식 이미지에 대해서 자세히 알아봅니다.

Docker 명령어

실행중인 Docker 컨테이너는 마치 프로세스처럼 동작합니다만, 컨테이너 실행 환경에 접속하고 싶을 때가 있습니다. 컨테이너는 일반적인 리눅스와는 다르게 SSH 서버가 없습니다. 이 때 사용할 수 있는 명령어가 바로 dokcer exec입니다.

Docker Hub나 커스텀 레지스트리에 직접 빌드한 이미지를 업로드하거나 프라이빗 이미지를 풀 받아오려면, 먼저 로그인을 해야합니다. docker login 명령어를 사용해 특정 레지스트리 서버에 로그인할 수 있습니다.

특정 Docker 컨테이너를 삭제하고 싶을 때는 docker rm을 사용할 수 있습니다. 최근에 추가된 docker contanier rm과 같습니다.

특정 Docker 이미지를 삭제하고 싶을 때는 docker rmi를 사용합니다. 컨테이너를 삭제하는 rm과 이름이 비슷하니 주의가 필요합니다. 최근에 추가된 docker image rm과 같습니다.

prune 명령어는 Docker에서 사용하지 않는 오브젝트를 한꺼번에 삭제하는 기능을 제공합니다.

LainyZine의 Docker 가이드에 의견이나 원하는 주제가 있으시면 메일로 연락해주세요.

LainyZine은 쿠팡 파트너스 활동에 따른 수수료를 제공받습니다.