[Docker] Docker 아키텍쳐 및 기본 명령어

HM·2023년 8월 8일
0

끝없는 개발지식

목록 보기
5/5
post-thumbnail

공식 문서 많이 읽어보기
Docker 공식문서

Docker Architecture

도커의 핵심 ➡️ Docker Host

Docker Client

  • CLI를 통해 도커와 상호작용을 하는 장소.
  • 도커 명령어를 사용하면 도커 데몬으로 보내어 실행.

CLI 명령어를 통해 도커 데몬을 실행해 도커 이미지를 받아오거나, 도커 파일로 이미지를 만들고 이미지를 실행하는 등 작업을 할 수 있다.

Docker Daemon

도커 엔진과 도커 호스트의 핵심 구성 요소

  • 도커 호스트에서 컨테이너를 관리, 실행하는 역할.
  • 컨테이너를 생성, 시작, 중지, 삭제하는 등의 작업 수행.
  • 컨테이너 이미지 관리, 외부에서 이미지를 다운로드하고 빌드하는 작업 수행.
  • CLI에서 명령어로 도커를 띄우는 것이 docker daemon을 실행하는 것.

Docker Object

  • 도커 이미지 (Docker Image)
    • 도커 컨테이너를 만들기 위한 읽기 전용 템플릿
  • 도커 컨테이너 (Docker Container)
    • 한 도커 이미지의 실행 가능한 인스턴스
    • 애플리케이션을 실행하기 위한 모든 파일과 설정 정보를 포함하는 패키지

Docker Registry

만들어져 있는 도커 이미지들을 관리하고 저장하는 곳. 올려져 있는 이미지를 가져와 정보를 추가한 후 이미지를 만들어 컨테이너로 만들 수 있다.
Docker hub : 디폴트 레지스트리, 누구나 접근 가능한 공개형 저장소

명령어

Docker 기본 명령어

  • pull : 도커허브로부터 이미지를 가져옴.
    • 사용법
      docker pull {option} {NAME[:TAG|@DIGEST]}
    • 예제 : 아파치 웹서버(httpd) 설치
      docker pull httpd
  • images : 도커 이미지 목록 확인
    • 사용법
      docker images [OPTIONS] [REPOSITORY[:TAG]]
  • ps : 도커 이미지 프로세스 확인
    • '-a' 옵션 : 종료된 컨테이너를 포함, 삭제되지 않은 모든 도커 컨테이너를 볼 수 있는 명령
      docker ps -a
  • run : 이미지로부터 새 컨테이너 생성 및 실행
    • 사용법
      docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
      -p 옵션(publish) : 호스트와 컨테이너의 포트 연결
      -d 옵션(detached) : 도커 이미지나 도커 파일을 백그라운드로 실행
    • 예제 : '마운트할_경로'를 httpd의 document root로 마운트해 아파치 웹서버를 띄우고 싶은 경우
      docker run httpd
      docker run --name secondContainer httpd
      docker run -d -p 8888:80 -v 마운트할_경로:/usr/local/apache2/htdocs httpd
  • start : 하나 또는 여러 개의 멈춰있던 컨테이너 실행
    • 사용법 : CONTAINER 자리에는 CONTAINER ID 또는 이름 입력
      docker start [OPTIONS] CONTAINER [CONTAINER...]
    • 예제
      docker start aa69ebaab877
  • stop : 하나 또는 여러개의 실행 중인 컨테이너 종료
    • 사용법 : CONTAINER 자리에는 CONTAINER ID 또는 이름 입력
      docker stop [OPTIONS] CONTAINER [CONTAINER...]
    • 예제
      docker stop aa69ebaab877
      docker stop -a
  • rm : 하나 또는 여러개의 컨테이너 제거
    • 사용법 : CONTAINER 자리에는 CONTAINER ID 또는 이름 입력
      docker rm [OPTIONS] CONTAINER [CONTAINER...]
    • 예제
      docker rm aa69ebaab877
      docker rm second -f
  • rmi : 하나 또는 여러개의 이미지 제거
    • 사용법 : IMAGE 자리에는 IMAGE ID 입력
      docker rmi [OPTIONS] IMAGE [IMAGE...]
    • 예제
      docker rmi 911d72fc5020
  • exec : 실행 중인 컨테이너에 명령어 입력
    • 사용법
      docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
    • 예제
      docker exec -it awesome_elion /bin/sh

참고문헌

profile
나만의 공부방 📖

0개의 댓글