У меня docker-machine
, созданный с драйвером virtualbox
, работающим на моей локальной машине. Я пытаюсь автоматизировать некоторые команды с помощью метода Node exec
. Цель состоит в том, чтобы
Запустить машину с именем «default»
$ docker-machine start default
Установить переменные среды для доступа к машине
$ eval $(docker-machine env default)
Запускать произвольные контейнеры на docker-machine
, вытягивая в него изображения.
$ docker run -p 8080:8080 -d fitzmode/nginx
Из следующего кода машина запускается как положено переменные среды устанавливаются, как и ожидалось, но команда docker run
переводит image
в host
docker, а не в docker-machine
, запущенный в virtualbox
. Любые идеи, как я могу выполнить это правильно?
const exec = util.promisify(require('child_process').exec);
(async () => {
await exec('docker-machine start default');
await exec('eval $(docker-machine env default)');
await exec('docker run -p 8080:8080 -d fitzmode/nginx');
})()