개발자를 위한 Docker 입문 튜토리얼

개발자를 위한 도커 튜토리얼은 처음 Docker를 배우는 개발자를 위해서 작성되었습니다. Docker와 리눅스 컨테이너는 방대한 주제입니다. 특히 Docker나 컨테이너 기술에 기반한 프로덕션 서버 운영과 같은 주제는 복잡한 주제이기도 합니다. 하지만 도커는 개발 환경 구축, 포터블 앱 활용, 개인용 서버 운영 등에서 활용할 수 있기 때문에 기본적인 사용법만 익혀두어도 두고두고 도움이 됩니다.

이 시리즈는 총 4편으로, 실제로 Docker를 사용해보면서 ���눅스 컨테이너 개념과 도커의 활용 방법을 익힐 수 있도록 구성되어 있습니다. 튜토리얼 형식으로 글에서 소개하는 모든 예제는 실제로 실행 가능하며, 독자 분들은 한 단계씩 따라하면서 Docker를 공부할 수 있습니다.

Docker 가이드 1 - 컨테이너 실행#

첫 번째 글에서 다루는 주제는 컨테이너입니다. 컨테이너 개념을 먼저 설명하기보다는, 일단 실행해보고 컨테이너가 어떻게 동작하는지 감을 잡아봅니다. 컨테이너를 실행하는 방법뿐만 아니라, Docker를 사용해 컨테이너를 조작하는 방법과 컨테이너의 생성부터 삭제까지 생애주기에 대해서 상세하게 알아봅니다.

컨테이너의 생애주기

Docker 가이드 2 - 이미지와 도커 허브#

Docker에서 컨테이너만큼이나 중요한 개념 중 하나가 바로 이미지입니다. 특히 도커에서는 별도의 설정 없이도 Docker Hub를 통해서 외부 이미지를 다운로드 받아서 사용할 수 있습니다. 두 번째 글에서는 도커 이미지에 대해서 알아보고, 도커 허브에서 제공하는 이미지에 대해서도 알아봅니다. 컨테이너와 이미지만 알다면 Docker를 활용할 준비로는 충분합니다.

Docker Hub의 데비안 배포판 이미지

Docker 가이드 3 - 컨테이너와 포터블 앱#

여기까지는 컨테이너와 이미지에 대해서 알아보았습니다. 이제 본격적으로 도커를 활용해볼 차례입니다. 도커 이미지는 특정 프로그램을 실행하기 위한 환경을 제공합니다. 따라서 아무리 설치하기 어려운 앱이라도 도커 이미지만 준비되어있다면, 도커 명령어 하나로 실행할 수 있습니다. 시리즈 세 번째 글에서는 ffmpeg 예제를 통해서 컨테이너를 포터블 앱으로 사용하는 방법에 대해서 알아봅니다. 또한 도커 불륨 기능을 통해서 호스트와 컨테이너 간에 파일을 공유하는 방법도 소개합니다.

도커의 볼륨 기능

Docker 가이드 4 - 서버 컨테이너#

Docker 가이드 마지막 편에서는 서버 컨테이너 활용에 대해서 알아봅니다. 도커는 포터블 앱으로서도 유용합니다만, 도커가 가장 많이 활용되는 용도가 바로 서버 애플리케이션입니다. 네 번째 글에서는 Nginx 예제를 시작으로, MySQL, Tensorflow와 같은 서버를 도커 컨테이너로 실행해봅니다.

도커 컨테이너로 실행한 서버

추천문서#

튜토리얼 이외에도, Docker 사용법에 대해서는 다음 글에서 정리하고 있습니다.

Docker는 리눅스나 맥OS 뿐만 아니라 윈도우에서도 사용할 수 있습니다. 이에 대해서는 다음 글들을 참고해주��요.