Здравствуйте
докер-машина версии 0.12.0, сборка 45c69ad
docker-machine create
теперь не работает:
docker-machine -D create \
--driver google \
--google-project project \
--google-zone us-east1-d \
--google-machine-type n1-standard-1 \
--google-disk-size 20 \
--google-preemptible \
build-vm2
Машина создана и Docker установлен, но не запускается. Проблема, по-видимому, связана с тем, что новая версия Docker устанавливается новой версией сценария установки на https://get.docker.com. Мои установки прошли с 17.05.0-ce до 17.06.0-ce, и с этим изменением Docker устанавливается, но не запускается.
Jun 29 00:50:08 build-vm2 docker[5705]: `docker daemon` is not supported on Linux. Please run `dockerd` directly
или же
Jun 29 00:56:12 build-vm2 dockerd[6407]: Error starting daemon: error initializing graphdriver: driver not supported
Если я не изменю:
/usr/bin/docker daemon -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=google
к
/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=google
в /etc/systemd/system/docker.service.d/10-machine.conf
.
Такая же проблема здесь
docker-machine create
--driver=digitalocean
--digitalocean-access-token=XXX
--digitalocean-size=2gb
machinename
Вчера эта же команда отлично работала с докером версии 17.05.0-ce
Сегодня докер моей новой машины не запускается (17.06.0-ce)
Я пробовал несколько раз.
Я тоже могу это подтвердить:
dm create -d digitalocean \
--digitalocean-access-token XXX \
--digitalocean-size 4gb machine
Я использую это как обходной путь:
докер-машина создать \
--driver amazonec2 \
--engine-install-url = https://web.archive.org/web/20170623081500/https : //get.docker.com
или же
--engine-install-url = https://releases.rancher.com/install-docker/17.05.sh
У меня такая же проблема.
версия докера: версия докера 17.06.0-ce
версия докер-машины: 0.12.0, сборка 45c69ad
docker-machine create --driver amazonec2 --amazonec2-region eu-west-1 --amazonec2-instance-type t2.small --amazonec2-access-key XXX --amazonec2-secret-key XXX test-create-machine
29 июня, 12:26:56 ip-172-31-10-149 systemd [1]: запуск Docker Application Container Engine ...
29 июня 12:26:56 ip-172-31-10-149 docker [5234]: docker daemon
не поддерживается в Linux. Пожалуйста, запустите dockerd
напрямую
docker daemon
не поддерживается в Linux. Пожалуйста, запуститеdockerd
напрямую
Я смог заставить его работать с этим PR
https://github.com/docker/machine/pull/4128
Просто скомпилируйте докер-машину с этим исправлением, и все снова заработает
@gnomus супер, это интересно! Хотя мне интересно, почему он работал на 17.05.0-ce.
@therealppa, ха-
@dminkovsky Я не думаю, что это будет работать вечно, если вы посмотрите в скрипт, он на самом деле нигде не указывает версию ... Тем не менее, прямо сейчас он работает.
@therealppa @dminkovsky Более долгосрочное исправление - изменить строку 457 скрипта с
$sh_c 'apt-get install -y -q docker-ce'
к
$sh_c "apt-get install -y -q docker-ce=17.05.0~ce-0~$lsb_dist-$dist_version"
Надеюсь, что исправленная версия docker-machine скоро выйдет.
мне то же
Мы заставляем его работать, используя «dockerd» вместо «docker daemon» в файле /etc/systemd/system/docker.service.d/10-machine.conf
@ fabio-barile как насчет --storage-driver aufs
arg? Мой не запустится, если я тоже не избавлюсь от этого.
@dminkovsky У меня была такая же проблема на ci автомасштабирования с gitlab, возникла проблема aufs + проблема dockerd, пришлось решить ее, указав оверлей в драйвере хранилища.
Помимо проблемы с драйвером хранилища, я также вижу ошибки проверки сертификатов, созданных gitlab-runner (9.3.0). @JustEra, сталкивались ли вы с той же проблемой или я единственный?
http: TLS handshake error from ...:
tls:
failed to verify client's certificate: x509:
certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "unknown")
ERROR: Error creating machine:
Error checking the host:
Error checking and/or regenerating the certs:
There was an error validating certificates for host "...":
remote error: tls: bad certificate driver=amazonec2 name=...
Это исправленная проблема с драйвером хранилища для меня (только что удалил этот параметр; ТОЛЬКО для systemd). Примените поверх https://github.com/docker/machine/pull/4128 и заново соберите:
diff --git a/libmachine/provision/systemd.go b/libmachine/provision/systemd.go
index 90d02603..05d63bb5 100644
--- a/libmachine/provision/systemd.go
+++ b/libmachine/provision/systemd.go
@@ -53,7 +53,7 @@ func (p *SystemdProvisioner) GenerateDockerOptions(dockerPort int) (*DockerOptio
engineConfigTmpl := `[Service]
ExecStart=
-ExecStart=/usr/bin/` + arg + ` -H tcp://0.0.0.0:{{.DockerPort}} -H unix:///var/run/docker.sock --storage-driver {{.EngineOptions.StorageDriver}} --tlsverify --tlscacert {{.AuthOptions.CaCertRemotePath}} --tlscert {{.AuthOptions.ServerCertRemotePath}} --tlskey {{.AuthOptions.ServerKeyRemotePath}} {{ range .EngineOptions.Labels }}--label {{.}} {{ end }}{{ range .EngineOptions.InsecureRegistry }}--insecure-registry {{.}} {{ end }}{{ range .EngineOptions.RegistryMirror }}--registry-mirror {{.}} {{ end }}{{ range .EngineOptions.ArbitraryFlags }}--{{.}} {{ end }}
+ExecStart=/usr/bin/` + arg + ` -H tcp://0.0.0.0:{{.DockerPort}} -H unix:///var/run/docker.sock --tlsverify --tlscacert {{.AuthOptions.CaCertRemotePath}} --tlscert {{.AuthOptions.ServerCertRemotePath}} --tlskey {{.AuthOptions.ServerKeyRemotePath}} {{ range .EngineOptions.Labels }}--label {{.}} {{ end }}{{ range .EngineOptions.InsecureRegistry }}--insecure-registry {{.}} {{ end }}{{ range .EngineOptions.RegistryMirror }}--registry-mirror {{.}} {{ end }}{{ range .EngineOptions.ArbitraryFlags }}--{{.}} {{ end }}
Для тех, кто хочет конкретную старую версию, мы (Rancher) поддерживаем слегка измененные скрипты get.docker.com для установки каждого из них:
http://rancher.com/docs/rancher/v1.6/en/hosts/#supported -docker-versions
@ fabio-barile выше совершенно правильно. Не могу себе представить, как «тестирование» позволяет испускать такие вещи.
Дополнительная информация здесь: https://github.com/docker/for-linux/issues/11#issuecomment -312143765
@ vincent99 ... вам всегда нравится
+1
Я проверяю каждый день новую версию докер-машины ... Эта ошибка меня убивает :-)
А пока я добавляю /etc/systemd/system/docker.service.d/20-machine.conf, который заменяет 10-machine.conf правильной командной строкой. Таким образом, дальнейшая команда docker-machine, которая обычно ее ломает, не работает. Конечно, чем дольше это будет исправлено в выпуске, тем больше у меня работы, чтобы вернуть все обратно!
Спасибо за подробное описание проблемы - мы изучаем ее, чтобы попытаться выяснить, что пошло не так.
связанные с https://github.com/docker/for-linux/issues/11#issuecomment -312143765
Таким образом, это не связано со сценарием установки в get.docker.com
а скорее связано с некорректной работой сравнения версий и с тем, что 17.06.0-ce является первым, кто официально устарел docker daemon
, поэтому мы видя неудачи.
Этот PR (docker / machine # 4128), похоже, решает эту проблему, и к вечеру у меня будет PR, который добавляет тесты для других функций сравнения, чтобы мы больше не столкнулись с чем-то вроде этого.
@seemethere Звучит хорошо, спасибо. Хотелось бы услышать о тесте.
Разница в одном из PR показалась мне немного странной, но думаю, вы, ребята, об этом позаботитесь.
В выпуске 0.12.1 эта ошибка исправлена. Спасибо всем за терпение и помощь.
@ shin- спасибо за быстрое исправление! С нетерпением жду возможности его использовать.
@ shin - Этот патч исправляет часть docker daemon
-> dockerd
, но Docker по-прежнему не запускается на машине из-за
dockerd[6407]: Error starting daemon: error initializing graphdriver: driver not supported
@ shin - мне удалось обойти проблему с драйвером хранилища, добавив --engine-storage-driver=overlay
(https://github.com/docker/machine/issues/3895#issuecomment-270934728). Итак, вот весь мой вызов docker-machine
.
docker-machine -D create \
--driver google \
--google-project $project \
--google-zone $zone \
--google-machine-type $type \
--google-disk-size $size \
--google-preemptible \
--engine-storage-driver=overlay \
$name
Без --engine-storage-driver=overlay
он все равно не работает с
dockerd[6407]: Error starting daemon: error initializing graphdriver: driver not supported
как раньше и как в # 3895
Вы видели журнал, в котором объяснялось, почему он разбился?
Пт, 7 июля 2017 г., в 9:39, Северин Земан [email protected]
написал:
@ shin- https://github.com/shin- к сожалению 0.12.1 не исправил это
для меня.$ docker -v
Докер версии 17.06.0-ce, сборка 02c1d87
$ docker-machine -v
докер-машина версии 0.12.1, сборка c8b17e8Я создаю машину amazonec2 с --amazonec2-region = eu-central-1
что создает для меня ami-fe408091.Результат создания docker-machine:
Выполнение предварительных проверок ...
Создание машины ...
(test-dm) Запускаем экземпляр ...
Ожидание запуска машины, это может занять несколько минут ...
Обнаружение операционной системы созданного экземпляра ...
Ожидание доступности SSH ...
Обнаружение инициатора ...
Подготовка с помощью ubuntu (systemd) ...
Установка Docker ...
Копирование сертификатов в каталог локального компьютера ...
Копирование сертификатов на удаленную машину ...
Настройка конфигурации Docker на удаленном демоне ...
Ошибка при создании машины: Ошибка при запуске: ошибка команды ssh:
команда: sudo systemctl -f start docker
ошибка: статус выхода 1
вывод: задание для docker.service не выполнено, поскольку процесс управления завершился с кодом ошибки. См. "Systemctl status docker.service" и "journalctl -xe" для подробностей.Выход из запущенной машины:
$ systemctl status docker.service
● docker.service - механизм контейнеров приложений Docker.
Загружено: загружено (/lib/systemd/system/docker.service; включено; предустановка поставщика: включено)
Падение: /etc/systemd/system/docker.service.d
└─10-machine.conf
Активный: неактивный (мертвый) (Результат: код выхода) с Пт 07.07.2017 13:34:47 UTC; 36с назад
Документы: https://docs.docker.com
Процесс: 5522 ExecStart = / usr / bin / dockerd -H tcp: //0.0.0.0 : 2376 -H unix: ///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacer
Главный PID: 5522 (код = выход, статус = 1 / ОТКАЗ)07 июля, 13:34:46 test-dm systemd [1]: docker.service: Устройство перешло в состояние ошибки.
07 июля, 13:34:46 test-dm systemd [1]: docker.service: Ошибка с результатом «код выхода».
07 июля, 13:34:47 test-dm systemd [1]: docker.service: Истекло время ожидания службы, запланирован перезапуск.
07 июля, 13:34:47 test-dm systemd [1]: остановлен механизм контейнеров приложений Docker.
07.07, 13:34:47 test-dm systemd [1]: docker.service: запрос на запуск повторяется слишком быстро.
07 июля, 13:34:47 test-dm systemd [1]: не удалось запустить Docker Application Container Engine.-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/docker/machine/issues/4156#issuecomment-313683311 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AANWZXHODzL3Lumb5NqlmXwnSi3VZBBkks5sLjUlgaJpZM4OIt7R
.
@dminkovsky Спасибо за обходной путь. Я решил использовать overlay2
так как это последняя версия драйвера.
Вы знаете, есть ли обходной путь для docker-machine rm {instance-name}
? Я получаю сообщение об ошибке, связанное с EOF
и остатки пар ключей остаются в облаке AWS, не позволяя мне воссоздать экземпляр.
Извините, я удалил свое сообщение после того, как тщательно отладил и заметил, что на самом деле это связано с тем, что написал @dminkovsky :
Без
--engine-storage-driver=overlay
все равно не удается
dockerd[6407]: Error starting daemon: error initializing graphdriver: driver not supported
как раньше и как в # 3895
Есть ли у нас какие-либо проблемы для этого конкретного случая использования хранилища движка AUFS?
@cadavre
Есть ли у нас какие-либо проблемы для этого конкретного случая использования хранилища движка AUFS?
Я видел https://github.com/docker/machine/issues/3895 , который открыт и на который вы также ссылались.
Что интересно, я больше не вижу этой ошибки. Я получаю --storage-driver overlay
@drujensen
Я решил использовать overlay2, поскольку это последняя версия драйвера.
Круто, спасибо, я этого не знала.
Вы знаете, есть ли обходной путь для docker-machine rm {instance-name}?
Не уверен, у меня не было этой ошибки. Я использую docker-machine rm -f
когда машина отключена и не отвечает. С -f
, docker-machine rm
удаляет виртуальную машину и связанные диски, даже если он не может добраться до коробки.
@dminkovsky Можете создать для этого новый выпуск? Это не связано с проблемой dockerd
/ docker daemon
, поэтому мы также должны рассматривать ее отдельно. И, пожалуйста, укажите, какую ОС вы также предоставляете :)
@ shin- у меня все хорошо. docker-machine у меня сейчас работает на 100%. Вы имеете в виду overlay2?
Другая моя проблема, связанная с удалением машин, была решена в pr # 4187. Спасибо.
@dminkovsky Простите - да, тот, который вы здесь упомянули
@shin - После возникновения проблемы в https://github.com/docker/machine/issues/4168 я попытался воссоздать свой промежуточный сервер и обнаружил несколько проблем с docker-machine create
о которых было сообщено. в нескольких недавних билетах:
Все это связано? Начать отслеживать их здесь? Я могу подтвердить, что эта проблема актуальна и сегодня.
@ shin- docker-machine v0.12.1 по-прежнему демонстрирует ту же проблему
У меня все еще та же проблема с версией 0.12.1.
Пожалуйста, обновитесь до последней версии, найденной на github:
https://github.com/docker/machine/releases/tag/v0.12.2
@eamontaaffe @ajwah @costa
Спасибо @dminkovsky. Я 10-machine.conf
файл не переопределяется во время обновления
Пожалуйста!
Я указываю "наложение" в параметре командной строки для механизма хранения, и поскольку
мои машины загружаются.
ср, 2 авг. 2017 г. в 12:05, Денис [email protected] :
Спасибо @dminkovsky https://github.com/dminkovsky Я получил это
ошибка на 0.12.2 и сегодня !!! Похоже, что файл 10-machine.conf не
переопределено во время обновления-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/docker/machine/issues/4156#issuecomment-319719085 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AANWZSYqy1uGhWeXozx35OnFhPRSb144ks5sUJ5YgaJpZM4OIt7R
.
Если вы используете системы с ядром> 4.4, я предлагаю использовать overlay2
.
Мне не удалось заставить машину использовать overlay2, и вариант использования для этого
к счастью, только строил / CD
ср, 2 авг. 2017 г. в 12:36, Северин Земан [email protected] :
Если вы используете системы с ядром> 4.4, я предлагаю использовать overlay2.
-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/docker/machine/issues/4156#issuecomment-319727847 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AANWZXLGHjLvfOOAgmBWV0zOEBDZBdSVks5sUKWBgaJpZM4OIt7R
.
Также появляется эта ошибка на 0.12.2 :-(
это еще открылось!
Я все еще вижу эту проблему с docker-machine 0.12.2
. Я двинулся вперед, удалив докер на подготовленном компьютере ( sudo apt purge docker-ce && sudo apt autoremove
) и использовал правильный сценарий установки Rancher для моей версии, как указано выше.
По какой-то причине это все еще не запускает докер, но перезагрузка машины решает это.
Могу подтвердить, все та же ошибка
@jhartma Я думаю, необходимо обновить до последней версии (образ Linux) и работает
@kassanmoor кажется, что мой AMI не поддерживает его на AWS, я заставил его работать со стандартным
Самый полезный комментарий
Я использую это как обходной путь:
докер-машина создать \
--driver amazonec2 \
--engine-install-url = https://web.archive.org/web/20170623081500/https : //get.docker.com
или же
--engine-install-url = https://releases.rancher.com/install-docker/17.05.sh