라벨이 컴포져인 게시물 표시

docker-compose 도커를 이용하여 개발하기 - 모듈 동기화

이미지
저번작업에 이어 이번에는 node_modules를 동기화 하겠습니다. 자세한 내용은 이전 글을 참고해 주시기 바랍니다. 이전글 : docker-compose 도커를 이용하여 개발하기 - 코드 동기화 1. module을 동기화하기 저번과 마찬가지로 NestJS을 이용하여 도커 개발환경을 구성하는데 이번에는 node_modules를 실시간으로 동기화 하는 작업을 하겠습니다.  먼저 .dockerignore 파일을 작성합니다. # ./.dockerignore node_modules package.json package-lock.json npm-debug.log dist 그리고 기존의 도커파일(Dockerfile)을 수정합니다. # ./Dockerfile # Base 이미지를 사용합니다. FROM node : 18.18.0 # Docker Container안의 디렉토리를 설정합니다. 설정을 안할시 Root리렉토리로 설정됩니다. WORKDIR /nestjs # package.json을 도커 이미지에 복사합니다. # COPY package.json /nestjs # COPY package-lock.json /nestjs # package데이터를 근거로 npm을 설치한다. # RUN npm install # 해당 디렉토리에 있는 모든 파일, 폴더를 도커 이미지로 복사합니다. # .dockerignore에 있는것은 제외 COPY . /nestjs # 해당 도커 이미지에서 build를 해서 dist폴더를 생성합니다. # RUN npm run build # 해당 이미지의 포트를 EXPOSE합니다. # 표시만 할뿐 실제 도커 컨테이너의 포트가 노출되지 않는다. EXPOSE 3000 # 도커 이미지를 이용하여 컨테이너를 생성시 nodejs 자동 실행(development mode) CMD [ "npm" , "run" , "start:dev" ] 다음은 docker-compose.yaml파일을 수정합니다. ...

docker-compose 도커를 이용하여 개발하기 - 코드 동기화

이미지
개발을 진행할때 도커를 이용하다보면 build를 진행하는 시간이 길다는 것을 알수 있습니다. 이때 개발이 완료될때마다 매번 build를 하지 않고 실시간으로 도커 컨테이너안의 코드와 개발IDE의 코드를 동기화 합니다. 필요시 확장 파일들도 동기화 할수 있습니다. 일단 코드를 동기화 하는 법에 대해서 확인해 보겠습니다. 1. 코드를 동기화하기 이번에 사용할 프로그래밍 언어는 TypeScript이며 NestJS를 이용하여 간단한 서버를 구성할 것입니다. 자세한 내용은 아래 공식 사이트를 참고해 주시기 바랍니다. 공식 NestJS 사이트 링크 프로젝트를 생성후 Dockerfile을 만들어서 작성합니다. # ./Dockerfile # Base 이미지를 사용합니다. FROM node : 18.18.0 # Docker Container안의 디렉토리를 설정합니다. 설정을 안할시 Root리렉토리로 설정됩니다. WORKDIR /nestjs # package.json을 도커 이미지에 복사합니다. COPY package.json /nestjs COPY package-lock.json /nestjs # package데이터를 근거로 npm을 설치한다. RUN npm install # 해당 디렉토리에 있는 모든 파일, 폴더를 도커 이미지로 복사합니다. # .dockerignore에 있는것은 제외 COPY . /nestjs # 해당 도커 이미지에서 build를 해서 dist폴더를 생성합니다. RUN npm run build # 해당 이미지의 포트를 EXPOSE합니다. # 표시만 할뿐 실제 도커 컨테이너의 포트가 노출되지 않는다. EXPOSE 3000 # 도커 이미지를 이용하여 컨테이너를 생성시 nodejs 자동 실행(development mode) CMD [ "npm" , "run" , "start:dev" ] 이제 이 도커파일을 사용할 docker-compose.yaml파일을 만듭니다. ...

docker-compose NodeJS(NestJS) 적용하기 -3

이미지
 이번에는 기존의 docker-compose를 이용하여 server에 redis를 연결하도록 하겠습니다. 이전글에서는 postgres을 이용하여 연결했습니다. 아래글을 참고해 주시기 바랍니다. 이전글 : docker-compose NodeJS(NestJS) 적용하기 - 2 진행하기 전에 Docker와 Docker-Compose가 설치되 있어야 하고 OS는 Ubuntu(Linux)를 사용합니다.  docker install by terminal : ubuntu 20.04 docker-compose Ubuntu Install 먼저 해당 프로젝트에 redis를 yarn으로 설치해 줍니다. $ yarn add cache-manager@^4.1.0 cache-manager-redis-store@^2.0.0 redis@^4.3.0 copy $ yarn add -D @types/cache-manager@^4.0.2 @types/cache-manager-redis-store@^2.0.1 copy 해당 redis 설치는 아래 링크를 참고해 주시기 바랍니다. 링크1 : NestJS Redis를 이용하여 캐시(Cache) 관리 파일에 변경사항이 있으니 참고해 주시기 바랍니다. --build를 추가하여 변경된 코드를 반영합니다. $ docker-compose up --build -d copy 해당 gitHub(branch : docker-compose_NodeJS_NestJS_적용하기-1 -> docker-compose_NodeJS_NestJS_적용하기-3)

docker-compose NodeJS(NestJS) 적용하기 -2

이미지
 이번에는 기존의 docker-compose를 이용하여 server에 postgers를 연결하도록 하겠습니다. 이전글 : docker-compose NodeJS(NestJS) 적용하기 -1 진행하기 전에 Docker와 Docker-Compose가 설치되 있어야 하고 OS는 Ubuntu(Linux)를 사용합니다.  docker install by terminal : ubuntu 20.04 docker-compose Ubuntu Install 먼저 해당 프로젝트에 '@nestjs/typeorm' 'pg'를 yarn으로 설치해 줍니다. $ yarn add @nestjs/typeorm pg typeorm copy 해당 typeorm 및 pg연결은 아래 링크를 참고해 주시기 바랍니다. mysql이라 하더라도 pg(postgres)으로 변경하면 됩니다. 링크1 : nest js -5 Connect to DataBase(mysql) with TypeORM 'docker-compose'파일에 변경사항이 있으니 참고해 주시기 바랍니다. --build를 추가하여 변경된 코드를 반영합니다. $ docker-compose up --build -d copy docker-compose up --build -d 이후 진행을 하면 database와 정상적으로 연결된 것을 알수 있습니다. 해당 gitHub(branch : docker-compose_NodeJS_NestJS_적용하기-1 -> docker-compose_NodeJS_NestJS_적용하기-2) 이후글 : docker-compose NodeJS(NestJS) 적용하기 -3

docker-compose NodeJS(NestJS) 적용하기 -1

이미지
 이번에는 docker-compose를 이용하여 컨테이너를 생성하도록 하겠습니다. 진행하기 전에 Docker와 Docker-Compose가 설치되 있어야 하고 OS는 Ubuntu(Linux)를 사용합니다.  docker install by terminal : ubuntu 20.04 docker-compose Ubuntu Install 해당 프로젝트 폴더안에서 Dockerfile을 생성합니다. Dockerfile 생성 방법에 대해서는 아래 링크를 참고해 주시기 바랍니다. 링크 3 : docker 도커를 이용하여 이미지(IMAGE) 생성하기 : NestJS 사용 아래는 해당 Dockerfile입니다. # Base 이미지를 사용합니다. FROM node : 16.19.0 # Docker Container안의 디렉토리를 설정합니다. 설정을 안할시 Root리렉토리로 설정됩니다. WORKDIR /nestjs # package.json을 도커 이미지에 복사합니다. COPY package.json /nestjs # yarn.lock를 도커 이미지에 복사합니다. COPY yarn.lock /nestjs # yarn install을 실행하여 node_modules를 생성합니다. RUN yarn install # 해당 디렉토리에 있는 모든 파일, 폴더를 도커 이미지로 복사합니다. # .dockerignore에 있는것은 제외 COPY . /nestjs # 해당 도커 이미지에서 build를 해서 dist폴더를 생성합니다. RUN yarn build # 해당 이미지의 포트를 EXPOSE합니다. # 표시만 할뿐 실제 도커 컨테이너의 포트가 노출되지 않는다. EXPOSE 3000 # 도커 이미지를 이용하여 컨테이너를 생성시 nodejs 자동 실행 CMD [ "yarn" , "start:dev" ] 불필요한 파일이나 폴더가 저장되는것을 막기 위해 '.dockerignore'을 생성해 줍니다...

docker-compose Ubuntu Install

이미지
참고링크 : https://docs.docker.com/compose/install/ 1. 터미널 실행 $ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 2. 터미널 실행 $ sudo chmod +x /usr/local/bin/docker-compose copy 3. 터미널 실행 $ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose copy 4. 버전 확인 $ docker-compose --version copy