作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Docker 据说可以帮助隔离应用程序环境,并帮助开发人员运行相同的环境。但是所有指南、教程、类(class)等都从一个已经构建的应用程序开始。那么我如何从头开始一个新的应用程序,比如说在 NodeJS 中?
所以最近我开始学习 docker,是的,它对于打包已经构建的应用程序很有用,如果我已经在我的本地主机上安装了所有东西,等等。
但是我将如何开始开发一个新的应用程序?例如在
NodeJS,没有安装NodeJS的主机,所以我不能npm init
我的文件夹。我将如何安装新软件包,node_modules
将如何安装坚持不懈,还有这一切?
这是我用于打包和应用程序的一些非常基础的设置......这对我来说从头开始是行不通的。
FROM node:10-alpine
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
CMD [ "npm", "start" ]
version: '3'
services:
example-service:
build: .
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
ports:
- 3000:3000
- 9229:9229
command: npm start
dev:
docker-compose up
最佳答案
您可以通过 How to use Docker for Node.js development 关注“Cody Craven” :
它确实使用 Docker 本身进行开发,而不仅仅是部署/运行 NodeJS 应用程序。
例子:
# This will use the node:8.11.4-alpine image to run `npm init`
# with the current directory mounted into the container.
#
# Follow the prompts to create your package.json
docker run --init --rm -it -v "${PWD}:/src" -w /src node:8.11.4-alpine npm init
FROM node:8.11.4-alpine AS dev
WORKDIR /usr/src/app
ENV NODE_ENV development
COPY . .
# You could use `yarn install` if you prefer.
RUN npm install
# Replace YOUR-NAMESPACE/YOUR-IMAGE with the name you would like to use.
docker build -t YOUR-NAMESPACE/YOUR-IMAGE:dev --target dev .
# The `YOUR COMMAND` portion can be replaced with whatever command you
# would like to use in your container.
docker run --rm -it --init -v "${PWD}:/usr/src/app" YOUR-NAMESPACE/YOUR-IMAGE:dev YOUR COMMAND
关于docker - 如何在 docker 容器内从头开始构建新应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56518177/
我是一名优秀的程序员,十分优秀!