- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
책 구입
전자책 구입
목차
예제 소스
저작권 정보
- 가장 빨리 만나는 Docker(이하 '책')의 저작권은 이재홍에게 있습니다.
- 책의 출판권 및 배타적발행권과 전자책의 배타적전송권은 (주)도서출판 길벗에게 있습니다.
- 책의 내용을 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다.
- 링크 및 SNS 공유는 허용합니다.
- 책의 내용을 변경할 수 없습니다.
- 책의 내용을 상업적으로 사용할 수 없습니다.
- 책의 내용을 어떠한 형태로든 재배포할 수 없습니다.
저자 서문
어떤 분야보다도 오픈 소스 개발환경은 빠르게 변하고 있습니다. GitHub가 생기면서 코드 공헌의 문턱이 낮아졌고, 분산형 버전 관리 시스템인 Git의 특성을 활용하여 유명 프로젝트를 포크(fork)한 나만의 프로젝트를 운영할 수 있게 되었습니다.
서버 개발 및 운영환경에서 디렉터리를 격리하는 chroot나 리눅스 커널 레벨에서 컨테이너를 구현한 LXC는 나온 지가 꽤 되었지만 널리 쓰이지 못했습니다. 이때 Docker는 GitHub의 공유 모델을 활용하여 놀라울 정도로 편리한 플랫폼을 구축했습니다.
GitHub에서 프로젝트를 포크하는 것과 마찬가지로 Docker에서는 Docker Hub에 올라가 있는 이미지를 기반으로 나만의 이미지를 만들고 공유할 수 있습니다. 주요 오픈 소스 프로젝트의 공식 이미지뿐만 아니라 다른 사용자들이 올린 이미지 그리고 내가 올린 이미지가 전 세계에서 사용되고 있으니 놀라울 따름입니다. 인터페이스를 통일하고 데이터를 한 곳에 모은다는 것은 상상 이상의 효율성을 가져왔습니다.
리눅스의 태생적인 한계는 실행 파일과 라이브러리 간의 호환성 문제였습니다. 이를 해결하기 위해 여러 리눅스 배포판들은 고유의 패키지 시스템을 내놓았지만 완벽한 해결책은 아니었습니다. 여기서 Docker는 프로그램 혹은 서비스에서 실행 가능한 상태의 조합을 컨테이너로 묶어 버렸고, 인터넷을 통해 공유하도록 만들었습니다. 이제 리눅스 서버 관리자가 시스템 구축과 관리에 낭비하는 시간이 크게 줄어들었습니다. 게다가 소스를 컴파일해서 설치한 뒤 완벽하게 삭제하지 못할 때의 찝찝함도 사라졌습니다.
Docker를 활용하면 특정 클라우드 플랫폼에 종속된 환경에서 벗어날 수 있습니다. 마음만 먹으면 Amazon Web Services에서 Google Cloud Platform으로 그리고 Microsoft Azure로 손쉽게 이전할 수 있습니다. 리눅스 서버를 일일이 구축하지 않고 지금까지 사용해오던 Docker 이미지를 그대로 사용하면 됩니다. 요금이 싸고 조건이 좋은 서비스로 언제든지 갈아탈 수 있게 된 것입니다.
이 책에는 Docker의 모든 것을 담지 못했습니다. Docker는 지금도 계속 발전하고 있고, 활용 방법도 끊임없이 나오고 있습니다. Docker는 어떤 고정된 제품이 아니고, 여러 프로그램들과 조합하기에 따라 무궁무진한 활용 방법이 나올 수 있기 때문입니다. 따라서 지금까지 나와 있는 활용 방법을 모두 소개하기보다는 Docker의 기본 사용 방법을 완벽히 익히고, 스스로 서비스를 만들어나갈 수 있도록 구성하였습니다.
서버 개발과 운영에 새로운 세상을 열게 해준 Docker의 매력을 함께 느껴보시죠!
2014년 11월 이재홍
저작권 안내
이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.- 블로그, 게시판 등에 퍼가는 것을 금지합니다.
- 비공개 포스트에 퍼가는 것을 금지합니다.
- 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
- 링크 및 SNS 공유는 허용합니다.