• docker개요
    • 애플리케이션을 개발, 배포, 실행을 용이하게 하는 오픈 소스 플랫폼

    • 컨테이너

      • Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징
      • 컨테이너에는 라이브러리, 시스템 도구, 코드 등 소프트웨어를 실행하기 위한 모든 것이 포함
    • 가상화 서버인 VM과의 비교

      Untitled

      • 도커는 VM에 비해 HOST의 OS를 공유하는 컨테이너
        • 윈도우와 같이 리눅스환경과 다를경우 경량화된 OS를 설치하여 실행
        • 일반적으로 경량화 alpine리눅스 사용
      • VM에 비해 경량화된 가상화 서버로서 빠른 부팅속도와 더 나은 성능을 보임
  • docker의 주요요소
    • 도커 데몬(Daemon)
      • 이미지, 컨테이너, 네트워크 등의 관리를 담당
      • 쉽게 생각해 도커 프로그램 그 자체로서, 도커 사용을 위해 먼저 설치필요
    • 도커 클라이언트(Client)
      • 사용자가 도커 데몬과 통신할 수 있게 해주는 커맨드 라인 인터페이스(CLI) 도구
      • 도커를 명령어로 컨트롤할수 있게 해주는 도구로서 도커 설치시 사용 가능
      • 명령어 뿐만아니라 UI환경에서 도커데스크탑을 이용해서 쉽게 컨트롤 가능
    • 도커 이미지(Image)
      • 애플리케이션과 모든 필요한 설정을 포함하는 템플릿
    • 도커 허브(Docker Hub)
      • 다양한 도커 이미지를 찾고 공유할 수 있는 저장소
    • 컨테이너(Container)
      • 도커가 도커이미지를 통해 애플리케이션을 실행한 공간
    • 도커파일
      • Dockerfile은 Docker 이미지를 빌드하기 위한 명령어와 설정을 포함하는 텍스트 파일
      • 확장자가 없음에 유의
    • docker image
      • 도커는 image 기반으로 동작
      • image란 컨테이너를 실행하기 위한 압축파일과 같은 개념
      • 도커 이미지 다운로드
        • 명령어 : docker pull 이미지명
          • ex)docker pull nginx
      • 도커 이미지 실행
        • docker run -d -p 8080:80 nginx
          • d는 백그라운드
          • -p를 통해 포트 지정하고, 외부포트:내부포트로 실행
          • 특정 버전의 nginx를 실행하고 싶다면 nginx:버전명. 버전제외시 최신버전
          • 실행중인 컨테이너 목록 조회
            • docker ps
            • 종료된 컨테이너 포함시 docker ps -a
      • image 는 도커파일이라는 스크립트를 통해 build
        • ex)docker build -t 이미지명:[태그명] -f <도커스크립트파일경로> <빌드컨텍스트위치>
          • 도커스크립트파일
            • 만약 도커파일명이 Dockerfile이 아닌 DockerfileDev 등 변형된 경우엔 -f 사용필요
            • 현재 경로에 Dockerfile이 있으면 -f 옵션과 도커스크립트파일경로 생략가능
          • 빌드컨텍스트
            • 빌드컨텍스트란 Docker 이미지를 빌드할 때 Docker가 참조할 모든 파일과 디렉터리의 위치를 의미
            • 현재 위치에 대상 파일이 있다면 “빌드컨텍스트위치” 대신에 “.” 으로 대체 가능
      • 로컬 컴퓨터에 만들어진 도커 image 목록 조회 명령어
        • docker images
      • image 삭제 명령어
        • docker rmi 이미지ID