티스토리 뷰
728x90
반응형
아래 블로그 참고하였습니다
https://shanepark.tistory.com/376
먼저, 이미지파일로 만들 nodejs 서버를 아래와 같이 만들어두었습니다.
저는 node app.js 명령어를 통해 서버가 실행되도록 생성했어요.
프로젝트폴더 내에서 Dockerfile 파일을 만들어줍니다.
vi Dockerfile
반응형
Dockerfile 파일 내부에는 아래와 같이 작성해주세요.
node:16 은 node 16버전의 이미지를 생성하겠다는 뜻이고,
WORKDIR에는 nodejs 프로젝트의 경로,
EXPOSE에는 nodejs 프로젝트를 실행할 포트번호,
CMD [ "node", "app.js" ] 에는 실행할 js파일명을 적어주면 됩니다.
FROM node:16
WORKDIR /{프로젝트폴더경로}
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "node", "app.js" ]
.dockerignore 파일도 생성해 줍니다.
vi .dockerignore
.dockerignore 파일 내부에는 아래와 같이 작성해줍니다.
node_modules
npm-debug.log
728x90
이제 작성한 dockerfile로 도커 이미지를 생성합니다.
위 블로그에서는 {유저명}/{프로젝트명}을 입력해야 한다고 적혀있었지만
저는 그냥 원하는 이미지명으로 입력했는데도 정상적으로 실행되었어요.
docker build . -t {이미지명}
이제 도커 이미지 목록을 확인해보면, 정상적으로 이미지파일이 생성된 것을 확인할 수 있습니다.
포트를 8080:8080으로 맞춰주고 실행합니다.
잘 실행되었는지 명령어로 확인해봅시다!
docker images // 이미지 확인
docker run -p 8080:8080 --name {생성할 컨테이너명} -d {이미지명} // 앱 실행
curl -i localhost:8080 // 잘 실행되었는지 확인
참고로 이렇게 만들어놓은 이미지를 tar파일로 압축하여 추출하려면 아래와 같이 진행하면 됩니다.
이 부분은 아래 블로그를 참고하였습니다.
# 이미지를 파일로 추출(save)
command: docker save {option} {image:tag} {filename}
ex) docker save -o test-image:1.0 test.tar
# 추출한 파일을 이미지로 업로드 (load)
command: docker load {option} {filename}
ex) docker load -i test.tar
728x90
반응형
'개발환경 > K8S·Docker' 카테고리의 다른 글
docker container export, import 하는 방법 (0) | 2023.09.02 |
---|---|
[Docker] 도커 이미지 빌드할 때 Temporary failure resolving 'archive.ubuntu.com' 오류 해결 방법 (0) | 2023.08.22 |
[Docker] docker.errors.DockerException: Error while fetching server API version: Connection aborted 오류해결 (0) | 2023.06.14 |
[Docker] 도커 최근 로그 조회 방법 (0) | 2023.04.27 |
[Kubernetes] 3. 서비스메시 Istio, 이해하고 연동하기 (0) | 2023.03.10 |
댓글