Docker 정리

Dokkabei97·2023년 5월 30일
0

Docker

목록 보기
2/2

Docker

  • 컨테이너 기반의 오픈소스 가상화 플랫폼

Docker Image

  • 도커 이미지는 프로그램 실행에 필요한 모든 파일과 설정 정보를 포함하고 있는 read-only 파일 시스템
  • 즉 도커 이미지는 애플리케이션과 그 의존성을 포함하고 있어 어디서나 동일하게 실행할 수 있다
  • 도커 이미지는 Dockerfile이라는 텍스트 파일로 정의
  • Dockerfile에는 어떤 기반 이미지를 사용할지, 어떤 명령어를 실행할지, 어떤 파일을 복사할지 등이 명시

Docker Container

  • 도커 컨테이너는 도커 이미지를 실행한 상태
  • 도커 컨테이너 이미지를 바탕으로 만들어지며, 사용자가 실제로 도커로 작업을 할 때 직접 상호작용하는 대상
  • 각 컨테이너는 독립적인 실행 환경을 가지므로 서로 다른 컨테이너 간에 영향을 주지 않는다.

Docker Engine

  • 도커 엔진은 클라이언트 - 서버 타입의 애플리케이션으로 도커CLI(Command Line Interface)를 통해 사용자와 상호 작용

Docker Daemon / 서버

  • 도커 데몬은 지속적으로 실행되는 프로세스
  • 도커 이미지, 컨테이너, 네트워크, 볼륨 등 도커 객체를 관리

REST API

  • 클라이언트와 서버간의 통신을 위한 인터페이스

Docker CLI(Command Line Interface) / 클라이언트

  • 사용자가 명령어를 통해 도커 데몬과 통신할 수 있게 해주는 도구

Docker Command

명령어설명
docker pull도커 이미지를 레지스트리에서 가져오는 명령어
docker push도커 이미지를 레지스트리에 올리는 명령어
docker run도커 컨테이너를 생성하고 실행하는 명령어
docker stop도커 컨테이너를 정지
docker start도커 컨테이너를 다시 시작
docker rm도커 컨테이너 삭제
docker ps도커 컨테이너를 나열 '-a' 옵션을 통해 정지된 컨테이너까지 나열
docker logs도커 컨테이너 로그 출력 '-f' 옵션을 통해 tail -f 와 같이 사용 가능
docker buildDockerfile을 이용해 도커 이미지 생성
docker exec실행 중인 도커 컨테이너에 명령어를 실행하는 명령어
docker image
docker volume
docker network
docker cp

Dockerfile

명령어설명
FROMDocker 이미지의 기반 레이어를 정의
RUNDocker 이미지를 빌드하는 동안에 실행할 명령어 정의
CMDDocker 컨테이너가 시작될 때마다 실행할 기본 명령어 정의
EXPOSEDocker 컨테이너가 런타임에 지정된 네트워크 포트를 리스닝하도록 함
LABEL이미지의 작성자, 메일을 지정하는데 사용 기존 MAINTAINER가 LABEL로 변경 KEY=VALUE 지정 가능
ENVDocker 이미지의 환경변수 설정
ADD호스트 시스템의 파일 또는 디렉토리를 Docker 이미지로 복사, URL과 압축 해제 기능을 추가적으로 지원
COPY호스트 시스템의 파일 또는 디렉토리를 Docker 이미지로 복사
WORKDIRRUN, CMD, ENTRYPOINT, COPY, ADD 명령어의 작업 디렉토리 변경
VOLUMEDocker 이미지에 지속적인 데이터를 저장할 수 있는 디렉토리 생성 또는 기존 디렉토리 마운트
ENTRYPOINT컨테이너가 실행될 때 항상 실행되도록 하는 명령어 설정
FROM openjdk:17

LABEL NAME="Dokkabei97"

ENV server=prod
 
RUN apt-get update
 
WORKDIR /home/app
 
COPY com.application.jar app.jar
 
EXPOSE 8080

CMD ["java" "app.jar" "-Dspring.active.profile=prod"]

Docker Compose

도커 컴포즈란..

Docker Compose Command

docker compose 버전에 따라
구버전은 docker-compsoe up -d
최신버전은 docker compose up -d 또는 위 명령어로 둘다 사용 가능

명령어설명
up
down
profile
ESTJ 개발자 백엔드와 인프라에 집중하고 있습니다.

0개의 댓글