Различные среды разработки с docker

#docker

#docker

Вопрос:

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

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

Что касается контейнеров, у меня было:

Проект:

  • MySQL
  • MongoDB
  • ActiveMQ
  • Cassandra

ProjectB:

  • MySQL
  • MongoDB

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

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

Спасибо!

Комментарии:

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

Ответ №1:

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

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

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