티스토리 뷰

root에 DockerFile 생성

// Dockerfile
# 1. 베이스 이미지 설정 (Node.js 18 사용)
FROM node:18-alpine

# 2. 작업 디렉토리를 설정
WORKDIR /app

# 3. 의존성 파일을 복사하고 설치
COPY package.json yarn.lock ./
RUN yarn

# 4. 환경 변수 파일을 복사 or env를 compose로 했을 경우는 제외
COPY .env.local .env.local

# 4. 나머지 프로젝트 파일을 복사
COPY . .

# 5. start.sh 파일 복사 및 실행 권한 부여
COPY start.sh /app/start.sh
RUN chmod +x /app/start.sh

# 6. 빌드
RUN yarn build

# 7. 포트 설정
EXPOSE 3000 4000

# 8. 애플리케이션 시작 명령어 설정
CMD ["/app/start.sh"]

 

root에 start.sh 파일 생성

//start.sh
# json-server 실행 (예: db.json이 데이터베이스 파일인 경우)
yarn server &

# 애플리케이션 서버 실행 (yarn start)
yarn start

 

root에 .dockerignore파일 생성

.gitignore와 같이 docker파일 생성에 포함시키지 않을 파일들을 지정해 준다.

//.dockerignore
node_modules
.env.local
yarn-debug.log*
yarn-error.log*
.vercel
*.tsbuildinfo
next-env.d.ts

 

root에 docker-compose.yml 파일 생성

.env파일을 도커 이미지 파일에서 제외한다

//docker-compose.yml
version: '3'
services:
  app:
    image: your-image-name
    build: .
    ports:
      - "3000:3000"
      - "4000:4000"
    env_file:
      - .env

이미지 파일 생성 및 컨테이너 실행

docker build -t mg-container.kr.ncr.ntruss.com/front-image .


컨테이너 레지스트리에 로그인

docker login mg-container.kr.ncr.ntruss.com


아이디와 비밀번호 입력

비밀이니까 이것이 아이디라고 합시다. 엔터누르고
비밀번호도 잘 입력해줍시다


생성된 이미지파일 push

docker push mg-container.kr.ncr.ntruss.com/front-image

이미지 파일 재생성 시 , 처음 생성한 이름 고정값으로 생성해야 한다


이미지파일 이름잘못입력했을 때  변경하는 방법

변경 전 > 변경 후

$ docker tag your-image-name mg-container.kr.ncr.ntruss.com/front-image
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함