Docker

5BRack·2022년 9월 5일

백엔드 로드맵

목록 보기
4/28

Docker

  • 부팅 등 운영체제의 핵심 기능은 공유하는 가상머신
  1. 개발/배포 환경 통일
  2. 프로그램 미리 설치
  3. 가벼운 가상 컴퓨터

Container

  • 가상화 기술 중 하나로 대표적으로 LXC(Linux Container)가 있다.
  • 기존 OS를 가상화 시키던 것과 달리 컨테이너는 OS레벨의 가상화로 프로세스를 격리시켜 동작하는 방식
  • VM은 HOST OS > Hypervisor > Guest OS > App 순으로 탑재되어 HOST OS와 Guset OS가 분리되어 동작한다.
  • Docker는 HOST OS > Docker Engine > App 순으로 탑재되어 Host OS가 사용하는 자원을 분리하여 컨테이너 개념으로 사용하는 것이다.

Docker Image

  • Docker Image는 컨테이너를 실행할 수 있는 실행파일, 설정 값을 이미지화 시킨것

Docker File

  • Docker File은 이미지 생성 출발점으로 이미지를 구성하기 위한 명령어들을 작성하여 이미지를 구성하는 것

Dockerfile 작성방법

  • RUN → 최적화 중에 실행되는 메시지

  • CMD → 만들어진 이미지를 실행(1회 실행)

# # 1. 운영체제(node 14, npm, yarn 설치되어 있는 linux) 설치
FROM node:14

# # 3. 내 컴퓨터에 있는 폴더나 파일을 도커 컴퓨터 안으로 복사하기
COPY ./index.js /

# # 4. 도커안에서 express 실행시키기
CMD node index.js

docker build [이미지화할파일] → 도커 이미지 생성 명령어

  1. 빌드를 통해 이미지 만들기
  2. 이미지 목록을 통해 확인하기
  3. 확인한 이미지를 실행시켜보기

도커 이미지생성 및 구동

  1. docker build [파일명] 입력
  2. docker images 입력
  3. 도커 이미지 확인
  4. docker run [이미지아이디]

도커 쉡 접속

  1. docker ps -a
  2. 컨테이너 아이디 복사
  3. docker exec -it [컨테이너 아이디] bash

.dockerignore

  • 도커 copy할때 입력된 폴더는 제외함(.gitignore와 동일한 역할)

포트 포워딩

  • docker stop [컨테이너ID]

  • docker run -p 도커외부포트번호:도커내부포트번호 [이미지ID]

삭제 명령어

  • docker rm ps -a -q : 컨테이너 모두 삭제

  • docker rmi docker images -q : 이미지 모두 삭제

  • docker system prune -a : 캐시 컨테이너 이미지 모두 삭제

0개의 댓글