gpt4 book ai didi

node.js - 在 microsoft/nanoserver 上 Dockerizing 一个 Node.js 应用程序

转载 作者:行者123 更新时间:2023-12-02 19:08:50 28 4
gpt4 key购买 nike

我是 Docker 新手。我们有一个基于 Node 的 REST 服务,我正在尝试创建一个 docker 镜像,以便可以轻松地将服务部署到构建代理上。我有 CD 到我们有服务的 package.json 的文件夹,并添加到 docker 文件下面。我在 Win 10 build 14xxxx 上并使用 Docker windows 容器。我是否需要先提取 Node 镜像并将其安装在 nanoserver 上?

FROM microsoft/nanoserver

# Create app directory
RUN powershell New-Item -ItemType directory -Path \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 8080

CMD [ "npm", "start" ]
当我跑
docker build -t mycompany/node-engine
我得到以下错误
'npm' is not recognized as an internal or external command,
operable program or batch file.
下面是完整的输出
Sending build context to Docker daemon 24.67 MB
Step 1/8 : FROM microsoft/nanoserver
---> a943c29f0046
Step 2/8 : RUN powershell New-Item -ItemType directory -Path \usr\src\app
---> Using cache
---> f1df2109ddd6
Step 3/8 : WORKDIR \usr\src\app
---> Using cache
---> 66d552a76612
Step 4/8 : COPY package.json \usr\src\app
---> Using cache
---> fcf9663854c3
Step 5/8 : RUN npm install
---> Running in b47b47ad1439
'npm' is not recognized as an internal or external command,
operable program or batch file.
The command 'cmd /S /C npm install' returned a non-zero code: 1

最佳答案

看起来您可以利用他们添加到 Nano 图像中的新命令:

curl.exe 和 tar.exe(谢谢 Unix)

FROM mcr.microsoft.com/windows/nanoserver:1809

#Download the package we want and unzip it to our destination
RUN curl.exe -o node.zip https://nodejs.org/dist/v9.2.0/node-v9.2.0-win-x64.zip && \
mkdir "C:\\Program Files\\node" && \
tar.exe -xf node.zip -C "C:\\Program Files\\node" --strip-components=1

#Add node to PATH
ENV PATH “C:\\Program Files\\node:%PATH%”

#Start Node
#CMD [ “node.exe” ]

关于node.js - 在 microsoft/nanoserver 上 Dockerizing 一个 Node.js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43771930/

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