Node 19 + Oracle Instant Client를 사용하는 Docker 파일 만들기

2023. 4. 25. 10:24프로그래밍

Node 19 + Oracle Instant Client + Express를 사용해서 만들어놓은 웹서버를 구동하는 Docker 파일입니다.

프로젝트를 다운로드 받은 후에 'docker_generate_image.bat', 'docker_generate_container.bat'를 차례로 실행하면

이미지와 컨테이너를 생성해서 동작하도록 만들었습니다.

로컬에서 만든 간단한 작업물을 다른분들께 전달했을 때 쉽게 사용할 수 있도록하려고 만들었으나

Docker Desktop 유료화로 인해...

 

Podman에서는 제대로 동작하지 않은데 원인은 못 찾았습니다.

찾게되면 기록을 남겨두겠습니다.

 

 

 

도커파일

Dockerfile

# Dockerfile
# node 19 + oracle instant client
FROM node:19
RUN apt-get update && apt-get install -y --no-install-recommends alien libaio1 wget && \
    wget --no-check-certificate https://download.oracle.com/otn_software/linux/instantclient/185000/oracle-instantclient18.5-basiclite-18.5.0.0.0-3.x86_64.rpm && \
    wget --no-check-certificate https://download.oracle.com/otn_software/linux/instantclient/185000/oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm && \
    alien -i oracle-instantclient18.5-basiclite-18.5.0.0.0-3.x86_64.rpm && \
    alien -i oracle-instantclient18.5-devel-18.5.0.0.0-3.x86_64.rpm && \
    npm install -g pnpm
ENV LD_LIBRARY_PATH="/usr/lib/oracle/18.5/client64/lib:${LD_LIBRARY_PATH}"
WORKDIR /app
COPY package*.json ./
COPY . .
RUN pnpm install --silent
ENTRYPOINT [ "pnpm", "start" ]
EXPOSE 8080

 

 

.dockerignore

node_modules
npm-debug.log
*.bat

 

 

이미지 생성

docker_generate_image.bat

docker build -t tidy_up_withdraw_user .

 

 

컨테이너 생성

docker_generate_container.bat

docker run --pull -p 8080:8080 --name node_tidy_up_withdraw_user tidy_up_withdraw_user  start

 

 

 

 

개인적으로 사용하는 Node Expresss 프로젝트용 .gitignore 파일

.gitignore

.DS_Store
node_modules
/build
/package
.env
.env.*
!.env.example
.vercel
.output
dbconfig*.js
사업자 정보 표시
주식회사 셀엑손 (CELLAXON Inc. | 이상효 | 경기도 화성시 동탄감배산로 143, 202동 2409호 | 사업자 등록번호 : 304-81-34245 | TEL : 031-8043-3215 | Mail : ryan@cellaxon.com | 통신판매신고번호 : 2022-화성동탄-0844호 | 사이버몰의 이용약관 바로가기