1 분 소요

dockerImage

도커, 이미지, 컨테이너란?

Docker

  • 컨테이너를 사용하여 각각의 프로그램을 분리된 환경에서 실행 및 관리할 수 있는 툴

Image

  • 애플리케이션과 그 실행에 필요한 모든 요소(코드, 런타임, 라이브러리, 환경 변수, 설정 파일 등)를 포함하는 불변 파일 시스템 템플릿
  • 도커에서 이미지는 닌텐도 칩과 같은 역할을 한다고 생각하면 쉬움
  • 예를 들어 mysql 서버를 이미지로 만들었다면, 이 이미지를 도커로 실행시키는 순간 mysql서버가 컨테이너 환경에서 실행. 그럼, mysql을 일일이 설치할 필요 없이 사용할 수 있음

Container

  • 도커 컨테이너는 도커 이미지를 실행한 실제 인스턴스. 컨테이너는 격리된 환경에서 애플리케이션을 실행하며, 호스트 시스템과 독립적으로 동작.
  • 컨테이너는 이미지를 기반으로 생성
  • 하나의 컴퓨터 환경에서 여러 개의 미니 컴퓨터 환경을 구성할 수 있는 형태라고 생각하면 쉬움

이미지는 컨테이너를 생성하기 위한 템플릿이며, 컨테이너는 그 템플릿을 실제로 실행한 실체

도커를 사용하는 이유?

  • 이식성 : 특정 프로그램을 다른 곳으로 쉽게 옮겨서 설치 및 실행이 가능
  • 설치 과정을 일일이 거치지 않아도 됨
  • 버전, 환경 설정 등 항상 일관되게 프로그램을 설치할 수 있음
  • 각각의 프로그램이 독립적인 환경에서 실행되기 때문에 프로그램 간에 서로 충돌이 일어나지 않음

자주 사용하는 도커 명령어

dockerimage2

  • docker pull 이미지명 : 이미지 다운받기
  • docker image ls : 이미지 목록 확인
  • docker rmi 이미지id : 이미지 삭제
  • docker rmi -f $(docker images -q) : 컨테이너에서 사용하고 있지 않은 이미지 모두 삭제
  • docker create 이미지명 : 이미지를 바탕으로 컨테이너 생성(pull로 이미지를 다운받지 않아도 create를 쓰면 자동으로 이미지를 만들고 컨테이너 생성)
  • docker ps -a : 모든 컨테이너 정보
  • docker ps : 실행중인 컨테이너 정보
  • docker start 컨테이너id : 생성된 컨테이너 실행
  • docker stop 컨테이너id : 컨테이너 중지
  • docker rm 컨테이너id : 컨테이너 삭제
  • docker run 이미지명 : docker create와 start를 한번에 처리
  • docker run -d —name 이름 -p [호스트포트]:[컨테이너포트] 이미지명 : 백그라운드 실행, 이름 지정, 포트포워딩
  • docker attach 컨테이너id : 컨테이너 내부로 접근
  • docker logs 컨테이너id : 컨테이너 로그 확인
  • docker -v [절대경로] 이미지명 : 도커 파일 연결

  • docker exec -it 컨테이너id bash : 배쉬 환경으로 실행중인 컨테이너 내부에 접속

카테고리:

업데이트: