首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >像访问URL一样访问docker容器

像访问URL一样访问docker容器
EN

Stack Overflow用户
提问于 2020-06-29 13:40:21
回答 1查看 217关注 0票数 1

我有一个用PHP,Nginx和dynamodb开发的应用程序。我已经创建了一个简单的docker-compose来在本地工作。

代码语言:javascript
复制
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命令,效果会很好:

代码语言:javascript
复制
ping dynamodb

这不管用。

代码语言:javascript
复制
ping http://dynamodb:8000

我需要使用http://dynamodb:8000,因为亚马逊网络服务需要URI,因为如果我使用http://dynamodb:8000,会出现以下错误

代码语言:javascript
复制
Endpoints must be full URIs and include a scheme and host

那么:如何像调用URL一样调用docker容器呢?我尝试过使用docker-compose参数,比如:dependslinksnetwork,但都没有成功

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-29 19:53:29

正如聊天中所讨论的,当依赖项安装在主机上并在容器中作为composer work base on the underlying platform使用时,错误就会出现。

因此,我们调查该问题是由于上述原因造成的。在容器中安装dependency可以解决这个问题。

代码语言:javascript
复制
docker exec -it php bash -c "cd web; composer install"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62631898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档