使用 Docker 和 Node 图像开发 VuejS (NuxtJs) 应用程序
Using Docker with Node image to develop a VuejS (NuxtJs) app
情况
我必须在 VueJs (NuxtJs) spa 上工作,所以我尝试将 Docker 与 Node 图像一起使用以避免在我的电脑上安装它,但我不知道如何制作它有效。
项目
源代码在它自己的 application
文件夹中,因为它是版本化的,并且在根级别有 docker-compose.yaml file
文件夹结构
my-project-folder
├ application
| └ ...
└ docker-compose.yaml
docker-compose.yaml
version: "3.3"
services:
node:
# container_name: prova_node
restart: 'no'
image: node:lts-alpine
working_dir: /app
volumes:
- ./application:/app
问题
容器启动但立即退出,退出状态为 0
(因此它正确执行),但这样我就无法使用它来处理项目。
关于 Node 图像或 Docker 大概我遗漏了一些东西;我想做的是将 docker 容器连接到 运行 npm 命令,如 install
、run start
等,然后在 [=19] 上检查浏览器上的应用程序=] 或其他任何内容。
我建议使用带有基本映像的 Dockerfile 作为节点,然后创建 运行 应用程序的入口点。当我们想要为我们的容器维护一些状态时,这将消除使用卷的需要。
您的 Dockerfile 可能如下所示:
FROM node:lts-alpine
RUN mkdir /app
COPY application/ /app/
EXPOSE 3000
CMD npm start --prefix /app
然后您可以直接通过 docker run
命令 运行 或使用 docker-compose.yaml 如下:
version: "3.3"
services:
node:
# container_name: prova_node
restart: 'no'
build:
context: .
ports:
- 3000:3000
情况
我必须在 VueJs (NuxtJs) spa 上工作,所以我尝试将 Docker 与 Node 图像一起使用以避免在我的电脑上安装它,但我不知道如何制作它有效。
项目
源代码在它自己的 application
文件夹中,因为它是版本化的,并且在根级别有 docker-compose.yaml file
文件夹结构
my-project-folder
├ application
| └ ...
└ docker-compose.yaml
docker-compose.yaml
version: "3.3"
services:
node:
# container_name: prova_node
restart: 'no'
image: node:lts-alpine
working_dir: /app
volumes:
- ./application:/app
问题
容器启动但立即退出,退出状态为 0
(因此它正确执行),但这样我就无法使用它来处理项目。
关于 Node 图像或 Docker 大概我遗漏了一些东西;我想做的是将 docker 容器连接到 运行 npm 命令,如 install
、run start
等,然后在 [=19] 上检查浏览器上的应用程序=] 或其他任何内容。
我建议使用带有基本映像的 Dockerfile 作为节点,然后创建 运行 应用程序的入口点。当我们想要为我们的容器维护一些状态时,这将消除使用卷的需要。
您的 Dockerfile 可能如下所示:
FROM node:lts-alpine
RUN mkdir /app
COPY application/ /app/
EXPOSE 3000
CMD npm start --prefix /app
然后您可以直接通过 docker run
命令 运行 或使用 docker-compose.yaml 如下:
version: "3.3"
services:
node:
# container_name: prova_node
restart: 'no'
build:
context: .
ports:
- 3000:3000