Section 7. 간단한 어플을 실제로 배포해보기 (개발 환경 부분)

2022. 1. 2. 00:36·Tech/Docker
  • Docker build -f Dockerfile.dev ./
  • Docker run -p 3000:3000 -it <이미지 이름>
    • -p 옵션 : 앞이 로컬 포트, 뒤가 컨테이너 포트
    • -it 옵션 : -i 상호입출력
    • -t  옵션 : tty를 활성화하여 bash 셸 사용
  • 볼륨을 이용한 소스코드 변경
    • 이미지를 다시 빌드하지 않고 소스코드가 반영될 수 있게 COPY 대신 Volume을 이용할 수 있다.
    • COPY와 Volume의 차이
      • COPY는 로컬에 있는 파일을 도커 컨테이너에 복사를 해주는 것
      • Volume은 도커 컨테이너에서 로컬 머신에 있는 파일을 매핑을 시켜 참조를 해서 도커 컨테이너에서 실행하는 것
      • docker run -p 3000:3000 -it -v /usr/src/app/node_modules -v $(pwd):/usr/src/app <이미지 이름>
        • 첫 번째 -v 옵션 : 호스트 디렉토리 서 얘는 제외하고
        • 두 번째 -v 옵션 : pwd 경로에 있는 디렉토리 혹은 파일을 /usr/src/app 경로에서 참조한다.
  • 도커 컴포즈를 이용하면 긴 명령어를 줄일 수 있다!
    • 컴포즈 작성 후 docker-compose up
  • 도커 환경에서 test하기
    • docker run -it 이미지이름 npm run test
    • 테스트 소스도 추가하면 자동 반영 되면 좋겠다 ? -> 소스 코드 변경 위해 volume 이용하듯, test를 위한 컨테이너를 compose 파일에 하나 더 만들어주면 된다.
  • 운영환경을 위한 도커 파일 생성
    • 빌드 파일들을 생성 (build stage)
    • 엔진엑스를 가동하고 첫 번째 단계에 따라 생성된 빌드 폴더의 파일들을 웹 브라우저의 요청에 따라 제공하여 준다 (run stage)

* 잘 이해 안되는 부분 ~

  • build 시에 copy package.json ./를 먼저 해주면 무슨 차이인지
    • 이미 다운 받은, 변경 없는 건들에 대해 다시 다운 받지 않도록 함
  • 이미지 한번 만들고 지우고 다시 하면 빨리 되는 이유? 정확히 캐시 어디에 올라가는건지?

 본 내용은 인프런 강의 ‘따라하면서 배우는 도커와 CI환경’ 을 듣고 정리한 내용입니다.

'Tech > Docker' 카테고리의 다른 글

Section 6. Docker Compose  (0) 2022.01.02
Section 5. 도커를 이용한 간단한 Node.js 어플 만들기  (0) 2022.01.02
Section 4. 직접 도커 이미지를 만들어 보기  (0) 2022.01.02
Section 3. 기본적인 도커 클라이언트 명령어 알아보기  (0) 2022.01.02
Section2. 도커 기본  (0) 2022.01.02
'Tech/Docker' 카테고리의 다른 글
  • Section 6. Docker Compose
  • Section 5. 도커를 이용한 간단한 Node.js 어플 만들기
  • Section 4. 직접 도커 이미지를 만들어 보기
  • Section 3. 기본적인 도커 클라이언트 명령어 알아보기
sooomni
sooomni
  • sooomni
    Dev Log
    sooomni
  • 전체
    오늘
    어제
    • 분류 전체보기 (20)
      • Tech (20)
        • TIL (2)
        • Worklog (4)
        • DB (4)
        • Docker (6)
        • Cloud (3)
        • 책 리뷰 (0)
        • 이펙티브자바 (1)
      • 이직기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    cloud
    NoSQL
    SQL
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
sooomni
Section 7. 간단한 어플을 실제로 배포해보기 (개발 환경 부분)
상단으로

티스토리툴바