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

11 months ago 8

들어가며 도커(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