노드 및 nginx를 사용하여 React 앱을 Docker화하고 Docker Hub에 이미지를 푸시하는 방법
안녕, 개발자!
도커화된 React 앱과 생성할 이미지를 Docker Hub에 푸시하는 방법을 살펴보겠습니다.
먼저 기본 Docker 명령을 검색해야 하는 경우 다음을 확인하십시오. https://docs.docker.com/engine/reference/commandline
메시지가 표시되지 않도록 하려면 쓰기, 읽기 및 삭제 권한이 있는 특정 사용자를 한 명 생성해야 합니다. 일반적인 오류는 다음 메시지입니다. 리소스에 대한 요청된 액세스가 거부되었습니다. 보라https://docs.docker.com/docker-hub/access-tokens/
Docker 허브에서 액세스 토큰을 생성한 후:
docker login -u <username>
다음을 사용하여 React 앱 만들기:
npx create-react-app my-app
https://hub.docker.com/_/node 을 사용하여 src 폴더에 Dockerfile을 만들고 이 명령을 복사할 수 있습니다.
FROM node AS prod
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
# RUN npm test - if you want to test before to build
RUN npm run build
FROM nginx:alpine AS prod
WORKDIR /usr/share/nginx/html
COPY --from=prod /app/build .
EXPOSE 80
# run nginx with global directives and daemon off
ENTRYPOINT ["nginx", "-g", "daemon off;"]
src 폴더에 .dockerignore를 만들고 추가할 수 있습니다.
/node_modules
Docker 이미지 빌드를 실행합니다.
docker image build -t react:v1 .
이미지를 빌드한 후 실행하여 작동하는지 확인하겠습니다.
docker run -dit -p 3300:80 --name react react:v1
컨테이너 ID를 얻으려면 다음을 수행하십시오.
docker container ls
컨테이너 ID를 얻은 후 이를 사용하고 컨테이너를 커밋할 수 있습니다.
docker container commit <id-container> react:v1
이전에 빌드한 이미지를 찾아 ID를 가져오겠습니다.
docker images
docker images
명령의 출력을 보면 리포지토리 이름, 태그 및 이미지 ID를 볼 수 있습니다. 태그를 만들어야 합니다.docker tag <image-name:tag> <your-repository>/image-name:image-name-repository
docker tag react:v1 luizcalaca/react:react
마지막은 푸시입니다.
docker push <repository>/<tag>
docker push luizcalaca/react:react
콘택트 렌즈
이메일: [email protected]
인스 타 그램:
링크드인:
트위터:
Reference
이 문제에 관하여(노드 및 nginx를 사용하여 React 앱을 Docker화하고 Docker Hub에 이미지를 푸시하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/luizcalaca/dockerize-a-react-app-with-node-and-nginx-and-how-to-push-an-image-to-docker-hub-l9g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)