[Docker] 도커에 대하여

Logun·2023년 9월 13일

Docker

목록 보기
1/1
post-thumbnail

✅ 도커


🎃 내용

내컴퓨터에 컴퓨터 하나 더 놓는 것과 같이 부팅 등 운영체제의 핵심 기능(커널)을 공유하는 가상머신의 컴퓨터를 만든다. 추가로 윈도우에서는 WSL (window subsystem for Linux)를 깔아야한다.

✨ 도커의 이점

  • 개발 / 배포 환경 통일
  • 프로그램 미리설치
  • 가벼운 가상컴퓨터

🎠 사용법

  • .dockerignore

    • 같은 환경으로 설치하려는 목적이므로 복사가 되지 말아야 하는 목록을 적어준다.
      node_modules
      out
      .next
  • Dockerfile

    # 나만의 가짜 컴퓨터 만드는 설명서
    
    # 1. 운영체제 및 프로그램 하나 하나 설치
    # FROM ubuntu:22.04
    
    # RUN sudo apt install -y nodejs
    # RUN sudo npm install -g yarn
    
    # 2. 이미 리눅스, node, npm, yarn까지 모두 깔려있는 컴퓨터 다운로드 
    FROM node:14
    
    # 2-2, 패키지 먼저 설치하기
    COPY ./packge.json /myfolder/
    COPY ./yarn.lock /myfolder/
    WORKDIR /myfolder/
    RUN yarn install
    
    # 2-3. 프로그램 셋팅하기
    # RUN mkdir myfolder => 아래에서 COPY할 때, 자동으로 만들어주므로 굳이 필요 없음!
    # 왼쪽 우리컴퓨터 /  오른쪽은 도커 컴퓨터
    COPY . /myfolder/
    RUN yarn build
    
    # 2-4. 도커안에서 프로그램 실행하기
    CMD yarn start
  • docker-compose.yaml

    • docker-compose build : 안의 설정들이 차례로 실행된다.
    • docker-compose up: 이미 만들어진 최적화된 이미지로 도커 컴퓨터가 실행 된다.
      version: "3.7"
      
      # 컴퓨터들
      services:
       # 첫번째 컴퓨터 이름
        my-frontend:
          build:
            # 도커파일이 어디에 있는지 => 현 위치에 있어
            context: .
            # 도커파일이 뭐야
            dockerfile: Dockerfile
          #3000으로 들어온애들 3000으로 접속시켜줄랭
          ports: -3000:3000
      
       # 두번째 컴퓨터 이름
        #...
  • 나만의 운영체제

    • docker pull, docker push로 깃허브처럼 운영체제를 받고 올릴 수 있다.
  • docker 명령어

    docker ps 실행
    docker ps -a 꺼진 컴퓨터까지 다 확인하기
    docker exec -it 실행하고 수정하게끔 권한을 준다
    docker exec -it 컨테이너 id /bin/bash
    exit 도커 컴퓨터 빠져나오는 명령어
    docker-compose down 이미지삭제
    docker rm 도커 id 꺼진 것 삭제
    docker rm `docker ps -a -q` 아이디 모두 가져오기 / 빽틱안의 명령어를 먼저 실행시켜준다.
    docker images 꺼진 것들 볼 수 있다.
    docker rmi `docker images -q` 도커이미지에 있는 아이디들을 삭제 하는 것
    docker system prune -a 전체 삭제(꺼져있는 것들만 지움)
    docker-compose up -d foreground가 아닌, background에서 실행
    docker-compose stop 서버 종료
    docker-compose logs -f => 로그를 실시간으로 계속 보여줌
    docker-compose logs -f —tail=100 마지막 100개의 로그만 보여주기

  • 주의사항

    • 포트포워딩

      도커컴퓨터의 대한 연결 통로를 만들어야한다.
      ports: -3000:3000

    • 프로젝트가 업데이트 됐을 때

      캐시가 한 번이라도 깨지만 해당 코드의 아래는 모두 재시작하기 때문에 순서를 생각해서 실행시켜야한다. (빌드 최적화)


도커 설치 사이트

profile
로건의 개발이야기

0개의 댓글