컨테이너와 이미지 이해하기
실행 파일과 설정을 담은 이미지가 컨테이너로 실행되는 과정을 직접 확인합니다.
무료 공개 · 최근 수정
이미지와 컨테이너 구분하기
컨테이너 이미지는 애플리케이션 실행에 필요한 파일, 바이너리, 라이브러리, 설정을 담은 읽기 전용 패키지입니다. 컨테이너는 이미지를 실행한 인스턴스입니다. 하나의 이미지로 서로 분리된 컨테이너를 여러 개 실행할 수 있습니다. Docker의 컨테이너 소개는 이미지와 실행 인스턴스의 관계를 이 구분으로 설명합니다.
이미지가 실행 환경을 묶어 주지만 데이터 보존과 네트워크 공개 범위까지 자동으로 결정하지는 않습니다. 실제 서비스에서는 볼륨, 환경 변수, 포트, 네트워크 정책을 따로 설계해야 합니다.
컨테이너 실행하기
Docker가 설치되어 실행 중인 환경에서 공식 연습 이미지를 시작합니다. 다음 명령은 포트 연결을 통해 호스트의 127.0.0.1:8080을 컨테이너의 80번 포트에 연결합니다. 127.0.0.1에만 바인딩하므로 같은 컴퓨터에서 접속합니다.
docker run --rm --name vivo-container-practice \
-p 127.0.0.1:8080:80 docker/welcome-to-docker브라우저에서 http://localhost:8080을 엽니다. 다른 터미널에서는 실행 중인 컨테이너와 포트 연결을 확인합니다.
docker ps확인을 마치면 컨테이너를 종료합니다. --rm 옵션을 사용했으므로 종료 뒤 컨테이너 기록은 자동으로 삭제됩니다.
docker stop vivo-container-practice실행 결과 해석하기
브라우저에 연습 페이지가 보인다면 이미지의 웹 서버가 컨테이너에서 실행되고 호스트 포트 연결을 통해 요청을 받은 것입니다. docker ps에는 컨테이너 이름, 사용한 이미지, 상태, 포트 연결이 표시됩니다.
컨테이너를 종료해도 원본 이미지는 로컬 이미지 저장소에 남습니다. 반대로 컨테이너 내부에만 쓴 데이터는 별도 볼륨에 저장하지 않으면 컨테이너 삭제와 함께 사라질 수 있습니다. 웹 요청이 포트를 거쳐 이동하는 과정은 HTTP 요청과 응답에서 이어서 확인할 수 있습니다.
참고 문서
설명이 어렵거나 잘못된 부분을 발견하셨나요?
문서 수정 의견 보내기