del*_*lux 6 node.js docker dockerfile docker-compose docker-image
我有一个NodeJS应用程序,我想要docker-size。
该应用程序包括两个部分:
服务器部分,运行从数据库获取数据的API。它在端口3000上运行;
客户端部分,它正在从服务器部分调用API端点。它在端口8080上运行;
这样,我在客户端部分就有一个名为“ server_address”的变量,其值为“ localhost:3000”。但事实是,这两个项目都应在单独的Dockerimage文件中按docker大小放置,并组合在一个docker-compose.yml文件中。
因此由于某些原因,我必须通过docker-compose.yml文件运行docker容器。那么是否有可能以某种方式连接这些东西并将服务器地址从dockerfile外部传递到NodeJS项目中?
docker-composer.yml
version: "3"
services:
client-side-app:
image: my-client-side-docker-image
environment:
- BACKEND_SERVER="here we need to enter backend server"
ports:
- "8080:8080"
server-side-app:
image: my-server-side-docker-image
ports:
- "3000:3000"
Run Code Online (Sandbox Code Playgroud)
两个Dockerfile看起来都像:
FROM node:8.11.1
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["npm", "run", "dev"]
Run Code Online (Sandbox Code Playgroud)
通过拥有这些文件,我很担心:
BACKEND_SERVER在项目中以某种方式使用变量吗?如果是的话,该怎么做?我不是在指Dockerimage文件,而是在项目本身中?pri*_*sar 11
像这样在node.js代码中使用process.env
process.env.BACKEND_SERVER
Run Code Online (Sandbox Code Playgroud)
在docker-compose文件中提及您的变量。
version: "3"
services:
client-side-app:
image: my-client-side-docker-image
environment:
- BACKEND_SERVER="here we need to enter backend server"
ports:
- "8080:8080"
server-side-app:
image: my-server-side-docker-image
ports:
- "3000:3000"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5774 次 |
| 最近记录: |