如何在同一个docker-compose文件中将数据库从沙发床容器映射到另一个容器webapp [英] how to map database from couchdb container to another containers webapp in same docker-compose file

查看:129
本文介绍了如何在同一个docker-compose文件中将数据库从沙发床容器映射到另一个容器webapp的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Web应用程序,该应用程序正在使用ouchdb数据库运行。
此coudb容器具有多个数据库,Web应用程序仅需要一个数据库。
我正在使用docker compose来运行它,但Web应用程序无法识别docker-compose.yml文件中的如下ouchdb容器
中的数据库

I am having one web application which is running with couchdb database. This coudb container has multiple databases from which web application need only one database. I am using docker compose to run it but web application didn't recognize database inside couchdb container by docker-compose.yml file as below

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,则可以正常运行

If I run docker manually as mentioned below it works fine

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

是否知道我在docker-compose文件中缺少什么?

Any Ideas what I am missing in docker-compose file?

推荐答案

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

After spending lots of time on docker-compose I got the solution as below

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

这篇关于如何在同一个docker-compose文件中将数据库从沙发床容器映射到另一个容器webapp的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆