how to map database from couchdb container to anot

2019-07-31 10:51发布

问题:

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

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

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

回答1:

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