도커(Docker) 입문편 컨테이너 기초부터 서버 배포까지

11 months ago 14

들어가며 도커(Docker)는 2013년에 등장한 컨테이너 기반 가상화 도구입니다. 파이콘 US 2013(Pycon US 2013)에서 솔로몬 하이크스(Solomon Hykes)는 The Future of Linux Container라는 라이트닝 토크에서 도커를 처음 소개했습니다.* 2025년 현재 도커와 컨테이너는 클라우드에서 서버를 배포하는 사실상의 표준 형식이 되었습니다. * 현재 도커는 Go 언어로 개발되고 있으며, 2025년 9월 현재 최신 버전은 28.x입니다. 도커는 리눅스 상에서 컨테이너 방식으로 프로세스를 격리해서 실행하고 관리할 수 있도록 도와주며, 계층화된 파일 시스템에 기반해 효율적으로 이미지(프로세스 실행 환경)를 구축할 수 있도록 해줍니다. 도커를 사용하면 이 이미지를 기반으로 컨테이너를 실행할 수 있으며, 다시 특정 컨테이너의 상태를 변경해 이미지로 만들 수 있습니다. 이렇게 만들어진 이미지는 파일로 보관하거나 원격 저장소를 사용해 쉽게 공유할 수 있으며, 도커만 설치되어 있다면 필요할 때 언제 어디서나 컨테이너로 실행하는 것이 가능합니다. 아직은 이 이야기들이 어렵게 느껴질 수 있지만, 이 글을 읽고나면 이미지와 컨테이너, 그리고 도커의 주요 개념들을 이해할 수 있습니다. 그리고 하나 더, 도커를 사용해서 실제로 서버를 배포까지 해봅니다. 도커를 왜 사용해야하는지 궁금하신 분들은 아래 글도 읽어보세요. 왜 굳이 도커(컨테이너)를 써야 하나요? - 컨테이너를 사용해야 하는 이유 | 44BITS 기술 블로그 도커(Docker) 시작하기: macOS에서 Rocky Linux로 프로세스 실행하기 사용자용 가상머신(Virtual Machine)은 이제 대중적인 도구가 되었습니다. 가상머신을 실행하는 호스트 머신에 가상화된 하드웨어와 OS를 구축함으로써, 호스트와는 다른 환경을 구축하고 개발과 테스트를 비롯한 다양한 목적으로 사용할 수 있습니다. 하드웨어를 소프트웨어로 에뮬레이션하는 가상머신은 시스템 분리를 통한 프로세스 격리 관점에서는 아주 후한 점수를 줄 수 있지만, 단순히 프로세스를 실행하기 위한 환경으로서는 성능을 비롯한 여러 단점을 가지고 있습니다. 컨테이너는 하드웨어를 소프트웨어로 재구현하는 가상화(= 가상머신)와는 달리 프로세스의 실행 환경을 격리합니다. 컨테이너가 실행되고 있는 호스트 입장에서 컨테이너는 단순히 프로세스에 불과합니다만, 사용자나 컨테이너 입장에서는 호스트와는 격리...

Read Entire Article