docker

2023. 9. 19. 20:09· project
목차
  1. 도커 설치
  2. Docker를 사용해서 배포하는 이유
  3. Docker 란?
  4. Docker-compose의 이해
  5. Dockerfile
  6. 환경 변수 설정

이번 프로젝트에서 도커를 사용하게 돼서 도커에 대해 정리해보려고 한다

 

도커 설치

https://www.docker.com/ 도커 홈페이지에 접속한 뒤, Get Started를 누른다

OS에 맞게 다운로드하고, 설치하고, 재부팅한다

 

Docker를 사용해서 배포하는 이유

우리가 서버를 돌리기 위해서는 먼저 환경이 갖춰져야 한다

새로 컴퓨터를 샀다거나 또는 새로 직원이 들어왔다고 생각해보자. 그럼 컴퓨터에 우리가 개발한 환경과 똑같이 만들어야한다

이를위해 Node.js와 같은 언어 그리고 언어의 버전, 데이터베이스, 수 많은 node_modules를 버전을 맞춰서 설치해줘야 한다

이를 간편하게 해주는 것이 바로 `도커`다

 

Docker 란?

도커는 개발 환경 요소들이 설치된 모습을 이미지로 저장한다. 저장한 이미지를 클라우드에 올린다. 이미지들이 서로 연결되서 동작하는 설정을 문서(Dockerfile)로 저장한다. 새 컴퓨터에 가서 복사한 문서의 내용대로 이미지를 다운받아 설치한다.

가상 머신과 비슷하다고 볼 수 있지만 가상머신보다 훨씬 빠르고, 자원을 효율적으로 사용한다. 왼쪽이 가상머신, 오른쪽이 도커다. 도커에는 불필요한 추가적인 운영체제 설치가 필요 없다

 

Docker-compose의 이해

여러가지 컨테이너를 다룰 때 좀더 복잡한 설정이 필요하게 된다. 이럴 때 Docker-compose를 사용한다. docker-compose.yml 파일을 미리 만들어서 설정을 어떻게 할지 적어둔다. 그리고 docker-compose up 명령어를 입력해서 컨테이너를 실행한다

docker-compose.yml 파일 예시 ( yml 파일은 들여쓰기를 꼭 지켜줘야함 )

version: "3.3"

services:
  class_build:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 3000:3000

 

Dockerfile

컨테이너를 실행하기 전에 먼저 해줘야할 것은 이미지를 만드는 것이다. Dockerfile 이라는 이름의 파일을 만들고 이미지를 만들기 위한 명령어를 입력한다. 그리고 docker-compose build 명령어를 통해 이미지를 만들게 된다

FROM node:16

WORKDIR /class_build/
COPY . /class_build/

RUN yarn install
RUN yarn build
CMD yarn start

 

환경 변수 설정

Dockerfile 안에서 환경 변수를 설정하고 싶은 때는 ENV 명령어로 설정한다

FROM node:16

WORKDIR /class_build/
COPY . /class_build/

RUN yarn install
RUN yarn build
CMD yarn start
저작자표시 (새창열림)

'project' 카테고리의 다른 글

왜 next.js인가?  (1) 2023.11.19
S3, CloudFront, Route53을 이용해서 정적 웹 호스팅하기  (1) 2023.11.12
react-hook-form과 yup을 이용한 로그인 구현  (0) 2023.10.29
협업때 자주 쓰이는 git 명령어 정리  (0) 2023.09.07
초기 세팅  (0) 2023.09.01
  1. 도커 설치
  2. Docker를 사용해서 배포하는 이유
  3. Docker 란?
  4. Docker-compose의 이해
  5. Dockerfile
  6. 환경 변수 설정
'project' 카테고리의 다른 글
  • S3, CloudFront, Route53을 이용해서 정적 웹 호스팅하기
  • react-hook-form과 yup을 이용한 로그인 구현
  • 협업때 자주 쓰이는 git 명령어 정리
  • 초기 세팅
nana-log
nana-log
포스팅이 좋았다면 "❤️공감" 눌러주세요!
nana-log
nana-log
nana-log
전체
오늘
어제
  • 분류 전체보기 (104)
    • TIL (26)
    • project (7)
    • algorithm (18)
    • information processing (30)
    • etc (19)

인기 글

태그

  • JS
  • 자바스크립트
  • 원티드프리온보딩
  • 알고리즘
  • 회고
  • docker
  • dev-tools

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
nana-log
docker
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.