docker-compose.yml 文件如下:
version: '3'
services:
app:
build: .
command: sh -c "curl -X POST -H 'Content-Type: application/json' -d '${JSON_DATA}' http://localhost:5000/api"
environment:
JSON_DATA: ${JSON_DATA}
ports:
- "5000:5000"
在上面的示例中,我们定义了一个 app
服务,它使用当前目录下的 Dockerfile 构建镜像,并在容器启动时执行 curl 命令。该命令使用环境变量 ${JSON_DATA}
中的内容作为 json 请求体,向 http://localhost:5000/api 发送 post 请求。
在 .env
文件中,我们可以定义 ${JSON_DATA}
环境变量的值。例如:
JSON_DATA='{"name": "Alice", "age": 25}'
这个文件需要放在与 docker-compose.yml 同一级的目录下。
最后,我们可以使用以下命令启动应用程序:
docker-compose up
这将构建和启动 Docker 容器,并在容器启动后执行 curl 命令。如果一切正常,您应该会看到一个成功响应。