DevOps 24

[Docker] Dockerfile 빌드 과정, 문법 정리, Docker Layer

Dockerfile 이란? Docker image 생성(빌드)시 컨테이너에 설치될 패키지, 소스코드, 실행 명령어 등을 기록된 이미지 설정 파일 Dockerfile 문법 문법 역할 FROM Base 이미지 LABEL 이미지에 대한 LABEL RUN shell 명령어 실행 - 주로 package 설치나 기본 설정에 많이 사용 - chaining 활용하여 되도록 한줄에 작성하는 것이 권장 - 설치 과정에 -y 옵션 적용 필요 ex) RUN apk add curl ex) RUN ['python', 'manage.py', 'runserver'] CMD 컨테이너 내부에서 실행 명령 - Dockerfile에서 한번만 사용 가능 - 명령, 인자값 설정 가능하며 없을시 기본값으로 ENTRYPOINT 컨테이너 내부에서 ..

DevOps/Docker 2022.08.16

[Docker] Docker, Docker-compose 명령어

Docker Image 명령어 명령어 기능 docker pull 이미지 Docker hub에서 pull docker search 이미지 검색 docker images 이미지 목록 조회 docker build . Dockerfile 기반 이미지 생성 -t : tag명 -f : Dockerfile 위치 --no-cache : 캐시기능 off 빌드 (코드 살짝 수정해도 재빌드) docker create 이미지 기반 컨테이너 생성 docker run 이미지 기반 컨테이너 생성 --name : 컨테이너 이름 -it : 입출력 관련 옵션 -d : daemon 실행 (background) -p : 포트 바인딩 -v : volume 공간 설정 ex) docker run --name mongo_db -p 24017:24..

DevOps/Docker 2022.08.16

[Docker] Docker 란? (chroot, 생명주기 등)

Docker 란? 도커는 컨테이너(*애플리케이션 및 해당 구동 환경을 격리한 공간) 기반의 가상화 플랫폼 기존 가상 머신 vs Docker 기존의 가상 머신 Hypervisior에 의해 GuestOS 생성 라이브러리, 커널 등 완전히 독립된 공간과 시스템 자원 할당 받아 사용 대표 툴 : VirtualBox, VMware 도커 컨테이너 프로세스 단위의 격리 환경(chroot, namespace, cgroup 등), 호스트의 커널 공유 라이브러리 및 실행 파일만 할당 하여 가벼움 애플리케이션 운영 표준화 및 어디서나 안정적으로 실행 가능 Docker의 chroot chroot (Change root) root directory(A)의 기준을 실행할 애플리케이션의 하위 directory (B)로 변경하는 역..

DevOps/Docker 2022.08.16

[CI & CD] Github Action 정리

👉 Github Action 문법 Github Action을 정의하는 용어(개념)에는 Workflow, Event, Job, Step, Action, Runner 등이 있음 1. Workflow 최상위 개념으로 전체 자동화 하려는 과정들에 총칭 단일 or 복수개의 Job으로 구성되며, Event에 의해 trigger됨 Git Repo의 .github/workflows 폴더 아래에 저장됨 2. Event workflow를 Trigger하는 역할 특정 branch push / pull request / cronjob 등이 예시에 해당 3. Jobs Job은 여러 Step으로 구성되고, 가상 환경의 인스턴스에서 실행됨 다른 Job에 의존 관계를 가질 수 있고, 독립적으로 병렬 실행도 가능함 동일한 runner..

DevOps/CI-CD 2022.07.12