2017-04-07 4 views
0

나는 노드 JS를 사용하여 Dockerizing 각 2 웹 응용 프로그램을위한 많은 방법을 찾는 밖으로 시도하지만 아직 도킹에 대한 적절한 Dockerfilepackage.json 파일이 지역에서 실행하지만 고정 표시기의 container.Does 누군가에 작동하지 않는 일 각도 2 앱. 심지어 내가 계속 아래 노드 js를 통해 앵귤러 2 웹 앱을 부두로 만드는 방법?

이 몇 가지 가능한 내가 흐름을 스택에 발견 방법하지만 package.json에

docker run --rm --name my-container -it -p 8080:4200 -v $(pwd):/var/www -w "/var/www" node npm start 

근무하지 않습니다에 액세스하는 동안

enter image description here

FROM node:boron 

# Create app directory 
RUN mkdir -p /usr/src/app 
WORKDIR /usr/src/app 

# Install app dependencies 
COPY package.json /usr/src/app/ 
RUN npm install 

# Bundle app source 
COPY . /usr/src/app 

EXPOSE 5655 
CMD [ "npm","start" ] 

사이트에 도달 할 수 질수 동적 인 내 포트 "ng serve -host 0.0.0.0",

또한 내가 내가 실행하는 것이 좋습니다 것이 무엇보다도 각이 웹 응용 프로그램

"scripts": { 
    "start": "node ./bin/www", 
    "build": "del-cli public/js/app && webpack --config webpack.config.dev.js --progress --profile --watch", 
    "build:prod": "del-cli public/js/app && ngc -p tsconfig.aot.json && ngc -p tsconfig.aot.json && webpack --config webpack.config.prod.js --progress --profile --bail && del-cli 'public/js/app/**/*.js' 'public/js/app/**/*.js.map' '!public/js/app/bundle.js' '!public/js/app/*.chunk.js' 'assets/app/**/*.ngfactory.ts' 'assets/app/**/*.shim.ts'" 
    } 

enter image description here

+0

각도 앱은 모든 유형의 http 서버에서 서비스해야합니다. 내부에 구성된 "express"모듈이있는 간단한 node.js 파일 일 수 있습니다. 패키지의 내용을 여기에 게시 할 수 있습니까? json 또는 적어도 스크립트 섹션을 게시 할 수 있습니까? –

+0

@ sergiy.dragunov "시작": "노드 ./bin/www", "빌드": "del-cli public/js/app && webpack --config webpack.config.dev .js --progress --profile --watch ", "build : prod ":"del-cli public/js/app && ngc -p tsconfig.aot.json && ngc -p tsconfig.aot.json && webpack - -config webpack.config.prod.js --progress --profile --bail && del-cli 'public/js/app/**/*. js' 'public/js/app/**/*. js. 앱/**/**/*/ngfactory.ts ''자산/app/**/* .shim.ts ' " }, – rselvaganesh

+0

@ sergiy.dragunov 설명 섹션 위에 내 스크립트를 추가했습니다 – rselvaganesh

답변

1
  1. 를 도킹하거나 의 nginx에게 또는 노드를 사용해야하는 서버 나 제안 "NPM 당신의 기계에서 시작;
  2. 다음으로 브라우저에서 각도 앱에 연결할 수 있는지 확인하십시오.
  3. 이 작동하면 각도 앱이 제공되는 포트를 기억해야합니다.
  4. 새로운 실행 섹션을 추가합니다. EXPOSE 라인 바로 전에 "실행 npm 실행 빌드 : prod";
  5. EXPOSE 섹션의 포트를 올바르게 설정하십시오.
  6. 컨테이너를 실행하십시오. "docker run --rm --name my-container -it." HTTP에서
  7. 열려있는 브라우저 : 127.0.0.1 : https://github.com/karlkori/dockerized-angular-app

    는 또한 나는 Nginx에 또는 CloudFront를를 사용하는 것이 더 좋을 것입니다 생산을 위해 그것을 추가 할 : 여기 HERE_PORT_FROM_EXPOSE_SECTION

작은 예입니다.

+0

sergiy.dragunov 위의 단계와 동일한 오류가 발생하지 않았습니다 – rselvaganesh

+0

은 (는) 애플리케이션이 비공개입니까? github 또는 bitbucket에서 코드를 공유 할 수 있습니까? –

+0

는 예제에 대한 링크를 추가했습니다. –