TIL|Docker Again~!

Tasha Han·2023년 9월 13일
0

도커란 무엇인지


  • 도커란 어플리케이션+시스템툴(노드 버전 맞추기)+디펜던시를 통째로 패키징 할 수 있는 툴
  • 패키징 된 컨테이너는 다른 서버, 다른 PC 어디에서도 쉽게 배포하고 안정적으로 구동할 수 있다!

VM하고의 차이

  • VM은 하드웨어 위에 vm 소프트웨어 위에 여러개의 독립된 VM을 실행하는 방식

  • 운영체제를 포함하고 있음 그래서 무겁고, 시작하는데 오래 걸림

  • 비효율적으로 사용 첫번째 30%, 오른쪽은 70%, 도커는 전체 컴퓨팅 파워를 넘지 않는 선에서 유기적으로 나눠서 쓸수 있다.!!

컨테이너

  • 하드웨어에 있는 호스트 OS에서 Container Engine이라는걸 설치하면 그 안에 container를 각각 둘 수 있음

  • OS를 컨테이너 안에 포함하지 않음, Host OS를 공유함

컨테이너를 만드려면

도커파일 -> 이미지 -> 컨테이너 구동

도커파일 구성 요소

  1. copy file
  2. install dependencies
  3. set environment variables
  4. run setup scripts

이 도커파일로 어플리케이션의 구성을 스냅샷찍은게 이미지

이미지를 실행할 수 있는 고립된 환경 만들어진 인스턴스

도커 이미지 배포

** 컨테이너 레지스트리 에 이미지 푸시를 하고 가지고 와서 그대로 실행하면된다!

  • 다음 레지스트리를 사용하면 됨!

도커파일 순서

가장 빈번히 바뀌는걸 아래 적어야 한다.
변경이 있을때 변경된 최상된의 레이어만 다시 빌드하게 되기 때문!

# .github/workflows/test.yml
name: Test

on:
  workflow_dispatch:
  push:
    branches:
      - dev
      - main

jobs:
  test: # 이름 변경
    runs-on: ubuntu-latest

    steps:
    - name: Checkout code
      uses: actions/checkout@v3

    - name: Setup Node 16
      uses: actions/setup-node@v3
      with:
        node-version: '16'
        cache: 'npm'

    - run: npm install
    - run: npm test
profile
개발 잘하고 싶다~(고래)

0개의 댓글