我有一个用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,因为亚马逊网络服务需要URI,因为如果我使用http://dynamodb:8000,会出现以下错误
Endpoints must be full URIs and include a scheme and host那么:如何像调用URL一样调用docker容器呢?我尝试过使用docker-compose参数,比如:depends、links、network,但都没有成功
发布于 2020-06-29 19:53:29
正如聊天中所讨论的,当依赖项安装在主机上并在容器中作为composer work base on the underlying platform使用时,错误就会出现。
因此,我们调查该问题是由于上述原因造成的。在容器中安装dependency可以解决这个问题。
docker exec -it php bash -c "cd web; composer install"https://stackoverflow.com/questions/62631898
复制相似问题