我有一个使用 PHP、Nginx 和 dynamodb 开发的应用程序。我创建了一个简单的 docker-compose 来在本地工作。
version: '3.7'
services:
nginx_broadway_demo:
container_name: nginx_broadway_demo
image: nginx:latest
ports:
- 8080:80
volumes:
- ./www:/var/www
- ./docker/nginx/vhost.conf:/etc/nginx/conf.d/default.conf
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
links:
- php_fpm_broadway_demo
php_fpm_broadway_demo:
container_name: php_fpm_broadway_demo
build:
context: ./docker/php
ports:
- 9000:9000
volumes:
- .:/var/www/web
dynamodb:
image: amazon/dynamodb-local
ports:
- 8000:8000
expose:
- 8000
现在我需要添加 dynamodb URL 参数以允许 PHP 查询数据库。因此,如果我从 PHP docker 容器进行 ping,这样就可以正常工作:
ping dynamodb
这是行不通的。
ping http://dynamodb:8000
我需要使用 http://dynamodb:8000 因为 AWS 需要 URI,因为如果我使用 http://dynamodb:8000 就会出现此错误:
Endpoints must be full URIs and include a scheme and host
那么:如何像 URL 一样调用 docker 容器呢?我尝试过使用 docker-compose 参数,例如:depends, links,network没有成功
月关宝盒