#docker #docker-compose #docker-machine
Вопрос:
Я только начинаю с Docker и использую docker-машину в VirtualBox, так как я на более старом Mac. docker-machine
команды работают нормально, и теперь я пытаюсь использовать docker-compose для запуска приложения с несколькими контейнерами. Я помню, как читал в руководствах предложение « docker-machine
теперь можно запускать docker-compose
команды с помощью или без -
«, но я больше не могу его найти, поэтому я застрял на том, как использовать docker-compose.. Можете ли вы указать мне правильное направление для использования compose с докер-машиной. Как всегда, большое вам спасибо за помощь. Овации
Комментарии:
1. О чем ты думаешь
docker compose
? Если вы выполнилиeval $(docker-machine env)
шаг по настройке соответствующих переменных среды Docker, вам не нужно будет делать ничего особенного для использования Compose.2. @David Maze Привет, действительно, я сделал оценку $(docker-machine env), но затем команда docker compose
docker-compose up
не принимается, и я получаюcommand not found: docker-compose
ошибку. Что еще я мог проверить после запуска машины?3. Возможно, вам потребуется отдельно установить Compose на вашем хосте (или использовать совершенно новый докер, встроенный в основную
docker
команду). Это вообще не имеет прямого отношения к машине.4. Действительно. Я установил с brew..as Я установил Докер, и я предполагаю, что в Докере версии 20.10.3, сборка 48d30b5 его нет. Спасибо
5. Так что, наверное, я немного запутываюсь.. Установка Docker поставляется с docker-машиной, поскольку я использую ее для создания виртуальной машины, которая создает и запускает отдельные контейнеры из a
Dockerfile
в корне моего приложения. Если вместо этого мне нужно создать мультисервисное приложение (например. Node.js приложение MongoDB) Мне нужно использовать docker-compose ( отдельная установка или новая установка docker), которая считывается из docker-compose. файл yaml и создайте контейнер для приложения из файла Dockerfile контейнер для базы данных mongdDb и подключите его внутренне.