Docker에서 간단한 Node.js 코드를 활용하여 생성한 이미지를 공유하는 방법에 대해서 알아보겠습니다.
포스팅 목차
Dockerfile을 통한 이미지 공유
이미지를 공유하는 한 가지 방법은 Dockerfile을 제공하는 것입니다. Dockerfile은 이미지 빌드에 필요한 명령어와 설정을 포함한 텍스트 파일입니다.
Dockerfile과 해당 애플리케이션의 소스 코드를 함께 제공하면, 사용자는 이를 기반으로 자체 이미지를 빌드하고 컨테이너를 실행할 수 있습니다.
# 베이스 이미지로 Node.js 사용
FROM node:14
# 애플리케이션 디렉토리 생성
WORKDIR /usr/src/app
# 애플리케이션 종속성 설치
COPY package*.json ./
RUN npm install
# 애플리케이션 소스 복사
COPY . .
# 애플리케이션 포트 설정
EXPOSE 3000
# 애플리케이션 시작 명령
CMD ["node", "app.js"]
빌드된 이미지 공유
Dockerfile을 공유하는 것 외에도, 완성된 이미지를 직접 공유하는 방법도 있습니다.
이 경우, 사용자는 이미지를 다운로드하여 즉시 컨테이너를 실행할 수 있으며, 별도의 빌드 과정이 필요하지 않습니다.
모든 코드와 폴더 구조가 이미지에 포함되어 있기 때문에, 사용자는 추가적인 설정 없이도 이미지를 사용할 수 있습니다.
hub.docker.com 도커 허브에 가입 후 이미지 업로드를 생성합니다. 이미지 공유 시 이름은 직접 지정해주시면 됩니다.
현재 빌드되어 있는 myapp 이미지를 대상으로 공유를 하겠습니다.
myapp 이미지를 tag를 통해 copy합니다.
docker tag myapp:latest mydockerhubusername/mynodeapp name
docker push mydockerhubusername/mynodeapp name
push 부분에서 엑세스 등의 오류가 발생하시면 ” docker login ” 명령어를 통해서 도커 로그인을 해주시면 됩니다.
한번 로그인하면 다시 로그인이 필요가 없고 로그아웃이 필요하면 ” docker logout “을 통해서 로그아웃을 하시면 됩니다.