docker - 在 Dockerfile 中运行多个命令
问题描述
我想先运行 booksServer,然后是 customersServer,然后运行 main.js
但在启动 main.js 之前,我想确保customersServer 和booksServer 首先运行。
我该如何正确地做到这一点?
这是我的 dockerfile 现在
FROM node:12.14.0
WORKDIR /usr/src/app
COPY package*.json ./
COPY . /usr/src/app
RUN npm install
RUN npm install nodemon -g
EXPOSE 4555
CMD nodemon /books/booksServer.js && nodemon /customers/customersServer.js && node /main/main.js
我知道通常你想为多个进程分离容器,但是这样做时我遇到了 gRPC 问题......所以我现在想将它作为一个 dockerfile 尝试。
解决方案
假设booksServer.js
并customersServer.js
提供通信端口,您可以使用此脚本。该脚本通常用于等待另一个服务准备好使用。
推荐阅读
- c# - 发生一个或多个错误。(ROPC 不支持 MSA 帐户。有关详细信息,请参阅 https://aka.ms/msal-net-ropc。)
- nginx - 如果来自 nginx 入口,则 Pod 内的 Nginx 会以“400 Bad request”响应。直接从 pod 它工作正常
- python - 尝试使用 python 安装 web3 失败
- java - 如何根据 PdfBox 的特殊字符裁剪 pdf
- javascript - ReferenceError: withTagName 未定义
- reactjs - 尝试在 React Native App 中添加外部字体时出错
- aspnetboilerplate - 审计日志表和被审计实体
- swift - 使用组合根据字符串启用按钮
- ios - 如何在 iOS 上为此 lang ibpreviewdocumenteditordoublelengthpseudolocale 启用本地化
- canvas - 有没有办法让chart.js中的饼图的外边框颜色与段之间的边框颜色不同?