如何将数据库从 couchdb 容器映射到同一 docker-compose 文件中的另一个容器 webapp

how to map database from couchdb container to another containers webapp in same docker-compose file

我有一个 Web 应用程序,它是 运行 couchdb 数据库。 这个 coudb 容器有多个数据库,Web 应用程序只需要一个数据库。 我正在使用 docker 组合成 运行 但 Web 应用程序无法识别 couchdb 容器内的数据库 通过 docker-compose.yml 文件如下

version: "2"
services:
    db:
      image: mysite/couch:latest
      ports:
       - "15984:5984"
      environment:
         DB_USER: admin
         DB_PASSWORD: password
         DB_NAME: db_new
    webapp:
      image: mysite/webapp:latest
      ports:
       - "3050:3000"
      links:
       - db
       - db:db_new

如果我 运行 docker 手动如下所述,它工作正常

docker run --rm -e DB_URL=http://localip:15984/db_new -p 0.0.0.0:3050:3000

知道我在 docker-compose 文件中遗漏了什么吗?

在 docker-compose 上花了很多时间后,我得到了如下解决方案

version: "2"
services:
    db:
      image: mysite/couch:latest
      ports:
       - "15984:5984"
    webapp:
      image: mysite/webapp:latest
      ports:
       - "3050:3000"
      links:
        - db
      environment:
         DB_URL: http://admin:password@db:5984/db_new