多个项目(和fig.yml)链接到同一个数据库

文件结构示例:

projects |-- project 1 | |-- app | | +-- <all app files> | |-- Dockerfile | +-- fig.yml +-- project 2 |-- app | +-- <all app files> |-- Dockerfile +-- fig.yml 

Dockerfile (不完全是我将使用,但只是一个例子)

 FROM node:latest RUN mkdir /src RUN npm install nodemon -g WORKDIR /src ADD app/package.json /src/package.json RUN npm install ADD app/nodemon.json /src/nodemon.json EXPOSE 3000 CMD npm start 

fig.yml

 web: build: . volumes: - "app:/src/app" ports: - "3030:3000" # ports different for both apps links: - db db: image: library/mysql <other db config> 

:有没有办法让这两个项目连接到同一个mysql容器? 现在它会创build一个项目的MySQL容器。

从docker-compose 1.1.0( docs )开始,您可以在YAML文件中使用external_links 。 您可以让一个项目使用外部链接到另一个项目的数据库或两个项目链接到一个外部容器。

项目2的示例YAML:

 web: build: . volumes: - "app:/src/app" ports: - "3030:3000" # ports different for both apps external_links: - project1_db_1:db