Docker据说可以帮助隔离应用程序环境,并帮助开发人员运行相同的环境。但所有指南、教程、课程等都是从已经构建的应用程序开始的。那么我如何从头开始一个新的应用程序,比如说在 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" ]
Run Code Online (Sandbox Code Playgroud)
version: '3'
services:
example-service:
build: .
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
ports:
- 3000:3000
- 9229:9229
command: npm start
Run Code Online (Sandbox Code Playgroud)
dev:
docker-compose up
Run Code Online (Sandbox Code Playgroud)
如代码中所示,我有一个自定义映像、一个 docker-compose 和一个 makefile。我可以改变其中的任何一部分或全部。我想要的是开发我的应用程序,除了docker之外,我的主机上没有安装任何东西,容器应该隔离应用程序所需的所有内容,最佳实践是在开发过程中保留安装的任何新包。
所以这个数据集有 200 万条患者记录。我被要求将每个变量二分,这部分已经完成,但任何患者都可以有多个记录,所以我必须按患者对它们进行分组。当我执行此操作时,我会丢失数据;知道为什么吗?这并不是在每个领域都会发生:
我添加示例数据帧的图像来执行 groupby('npaciente),然后您可以看到,对于 value_ counts 中的每一列,它不会在 complicacionescronicas 列中返回任何内容