gpt4 book ai didi

node.js - Nodejs 无服务器 Docker 镜像

转载 作者:行者123 更新时间:2023-12-02 19:20:11 25 4
gpt4 key购买 nike

我正在尝试为本地无服务器开发设置 docker 镜像,但在使用卷访问文件时遇到问题。

Dockerfile

FROM node:8.10

ADD . /code
WORKDIR /code


RUN npm install -g serverless
RUN npm install serverless-offline

EXPOSE 3000

# COPY . /code

CMD ["serverless", "offline", "--host", "0.0.0.0", "--port", "5000"]

docker-compose-yml
version: "3"
services:
serverless_proj_1:
build:
context: .
dockerfile: Dockerfile
ports:
- "3000:5000"
volumes:
- .:/code
- /code/node_modules

Docker 正在正确监听我所有的无服务器端点:

enter image description here

但是当我从 Postman 触发其中一个 api 端点时,这是我得到的错误:
enter image description here
  • docker 容器 exec 应用程序-services_serverless_proj_1_1
    密码
    返回 /代码
  • docker 容器 exec apps-services_serverless_proj_1_1 ls -al 返回我的代码库
  • docker 容器 exec apps-services_serverless_proj_1_1 ls/code -al 再次返回我的代码库(两个命令的总数相同)
  • docker 容器 exec apps-services_serverless_proj_1_1 ls/code/node_modules -al 返回我所有的依赖项(共 3074 个)
  • 最佳答案

    我没有看到 RUN npm install .由于您正在为 node_modules 标记一个占位符,因此您需要将它们安装在容器内。

    编辑

    请尝试附加到您正在运行的 docker 容器并查看 node_modules 文件夹。只是要仔细检查 a) 你有一个,b) 它位于它应该在的位置,c) 它包含你期望的所有模块。

    您可以通过运行 docker container exec -it serverless_proj_1 /bin/bash 来执行此操作默认情况下,这应该将您放在/code 目录中,然后只需运行 ls -al

    关于node.js - Nodejs 无服务器 Docker 镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60550016/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com