有一个码头网络:docker network create nginx-proxy
然后两个Web服务器在Docker容器中运行。
docker-compose
文件:version: '3'
services:
my-api:
image: node:alpine
volumes:
- ./:/api
working_dir: /api
command: npm run start
networks:
default:
external:
name: nginx-proxy
docker-compose
文件:version: '3'
services:
my-app:
image: node:alpine
environment:
API_URL: ???
volumes:
- ./:/app
working_dir: /app
command: npm run start
networks:
default:
external:
name: nginx-proxy
在此nodejs应用程序的代码中的某处,它尝试使用以下代码连接到API:
const fetch = require('node-fetch')
const apiUrl = process.env.API_URL
const getSomethingFromApi = jsonArgs =>
fetch(apiUrl, {
method: 'post',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(jsonArgs)
})
.then(response => response.json())
如何在第二个容器中为应用配置docker文件以使用第一个容器中的API?