1

文件结构示例:

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

无花果.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 容器?现在它将为每个项目创建一个 mysql 容器。

4

1 回答 1

4

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

项目 2 的示例 YAML:

web:
  build: .
  volumes:
    - "app:/src/app"
  ports:
    - "3030:3000" # ports different for both apps
  external_links:
    - project1_db_1:db
于 2015-03-02T04:42:10.310 回答