【发布时间】:2017-09-02 18:45:03
【问题描述】:
我尝试找到许多使用节点 js 对 Angular 2 Web 应用程序进行 Dockerizing 的方法,但尚未奏效,它在本地运行但无法在 docker 容器上运行。有没有人有任何合适的 Dockerfile 和 package.json 用于对接 Angular 2 应用程序的文件。
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" ]
访问时无法访问网站
以下是我在堆栈溢出但未奏效的一些可能方法
docker run --rm --name my-container -it -p 8080:4200 -v $(pwd):/var/www -w "/var/www" node npm start
在 package.json 中,即使我将端口保持为动态 "ng serve -host 0.0.0.0",
还建议我需要使用哪个服务器 nginx 或 node 来对接 Angular 2 web-app
"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'"
}
【问题讨论】:
-
您的 Angular 应用程序必须由任何类型的 http 服务器提供服务 - 它可以是一个简单的 node.js 文件,其中配置了“express”模块。您可以在这里发布您的 package.json 的内容,或者至少是其中的“脚本”部分吗?
-
@sergiy.dragunov "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'" },
-
@sergiy.dragunov 我在描述部分添加了我的脚本
标签: node.js angular docker dockerfile docker-machine