2016-10-20 2 views
0

Каков наилучший способ разделить различные среды разработки проектов с докером?Различные среды разработки с докерером

Говоря о Маке, когда он не поддерживался на родном языке, у меня было две докер-машины, давайте скажем projectA и projectB, поэтому я просто eval $(docker-machine env projectA), чтобы получить доступ ко всем контейнерам для этого проекта.

В терминах контейнеров у меня было:

ProjectA:

  • MySQL
  • MongoDB
  • ActiveMQ
  • Кассандры

ProjectB:

  • MySQL
  • MongoDB

Можно ли иметь такое разделение, так что каждый, что делает docker ps -a будет видеть только контейнеры, связанные с выбранной машиной?

Я могу продолжать делать это с помощью докер-машины, но тогда он не будет использовать функции с включенной поддержкой и выполнять медленнее.

Спасибо!

+4

Если вы используете 'docker-compose', вы можете сделать' docker-compose ps', и он должен показывать только контейнеры, связанные с локальным файлом компоновки – bjhaid

ответ

1

Docker не поддерживается на Mac - Docker для Mac использует native virtualization, но до сих пор работает виртуальная виртуальная машина Linux, к которой подключается клиент Docker.

Вы правы, что производительность и интеграция лучше с Docker для Mac, но компромисс заключается в том, что вы получаете только одну виртуальную машину, вы не можете создать вторую виртуальную машину и запустить два двигателя Docker, единственный способ физически изолировать контейнеры.

Docker для Mac и Docker Toolbox can coexist, так что это один из вариантов. Другой вариант состоит в том, чтобы изолировать их логически - запустив связанные контейнеры в одной сети Docker, но они все равно будут отображаться в docker ps.

Смежные вопросы