【发布时间】:2016-10-31 08:36:34
【问题描述】:
我有许多基于具有不同设置的 docker-compose 文件的项目。
如果我想开始另一个项目,我会docker-compose stop当前项目和docker-compose up另一个。
但我的问题听起来是:如何同时使用任何项目启动 2 个或更多 docker-compose 图像?
我的操作系统 linux ubuntu。
我的 docker-compose 看起来像:
application:
build: code
volumes:
- ./mp:/var/www/mp
- ./logs/mp:/var/www/mp/app/logs
tty: true
db:
image: mysql
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: mp-DB
MYSQL_USER: root
MYSQL_PASSWORD: root
php:
build: php-fpm
ports:
- 9000:9000
volumes_from:
- application
links:
- db
nginx:
build: nginx
ports:
- 80:80
links:
- php
volumes_from:
- application
volumes:
- ./logs/nginx/:/var/log/nginx
elk:
image: willdurand/elk
ports:
- 81:80
volumes:
- ./elk/logstash:/etc/logstash
- ./elk/logstash/patterns:/opt/logstash/patterns
volumes_from:
- application
- php
- nginx
如果我尝试运行另一个项目,我得到了错误
'驱动程序在端点上编程外部连接失败 mpdockerenv_db_1 绑定 0.0.0.0:3306 失败:端口已经存在 分配'
我想我应该会从具有不同端口的容器中转发端口,但我不知道该怎么做。
【问题讨论】:
-
那些项目在同一个文件夹中?图片是怎么命名的?你试过
docker-compose up proj1和docker-compose up proj2。 config docker-compose.yml 文件长什么样子? -
如果同时运行这两个项目会发生什么?
-
每个项目区域设置在不同的文件夹中,并且有自己的 docker-compose 文件和设置。如果我尝试运行另一个项目,我会收到错误“驱动程序在端点 mpdockerenv_db_1 上编程外部连接失败,为 0.0.0.0:3306 绑定失败:端口已分配”
标签: docker docker-compose