你好
docker-machine版本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上的新版本的安装脚本进行安装有关
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
昨天,同一命令在Docker 17.05.0-ce版本中运行良好
今天我的新计算机的docker无法启动(17.06.0-ce)
我已经尝试了多次。
我也可以确认这一点:
dm create -d digitalocean \
--digitalocean-access-token XXX \
--digitalocean-size 4gb machine
我正在使用它作为解决方法:
docker-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
我有同样的问题。
docker版本:Docker版本17.06.0-ce
docker-machine版本: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
6月29日12:26:56 ip-172-31-10-149 systemd [1]:启动Docker应用容器引擎...
Jun 29 12:26:56 ip-172-31-10-149 docker [5234]:Linux不支持docker daemon
。 请直接运行dockerd
Linux不支持
docker daemon
。 请直接运行dockerd
我能够与此PR一起使用
https://github.com/docker/machine/pull/4128
只需使用此修复程序编译docker-machine,一切便会再次运行
@gnomus super,这很有趣! 我不知道为什么它可以在17.05.0-ce下运行。
@therealppa haahaha太棒了! 我想知道如何获取该脚本的旧版本,或者实时脚本是否需要使用参数来安装旧版本。 web.archive.org绝对不是我想到的。
@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即将发布。
我也是
我们通过使用文件/etc/systemd/system/docker.service.d/10-machine.conf中的“ dockerd”而不是“ docker daemon”来使其工作
@ fabio-barile --storage-driver aufs
arg怎么样? 除非我也摆脱不了,否则我不会开始。
@dminkovsky我在使用gitlab自动缩放ci时遇到了相同的问题,遇到了aufs问题+ dockerd问题,必须通过在存储驱动程序中指定overlay来解决它。
除了存储驱动程序问题外,我还看到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
+1
我每天都回来查看新的docker-machine版本...这个错误杀死了我:-)
现在,我添加/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听起来不错,谢谢。 喜欢听到有关测试的消息。
一位公关的差异对我来说似乎有些奇怪,但认为你们会照顾好这一点。
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中
您是否看到解释其崩溃原因的日志?
2017年7月7日星期五,上午9:39,Seweryn Zeman邮件通知@ github.com
写道:
@ shin- https://github.com/shin-不幸的是0.12.1并没有解决这个问题
为了我。$泊坞窗-v
Docker版本17.06.0-CE,内部版本02c1d87
$ docker-machine -v
docker-machine版本0.12.1,内部版本c8b17e8我正在使用--amazonec2-region = eu-central-1创建amazonec2机器
为我创建了一个ami-fe408091。docker-machine create的输出为:
运行预创建检查...
正在建立机器...
(test-dm)正在启动实例...
等待机器运行,这可能需要几分钟的时间...
正在检测创建的实例的操作系统...
等待SSH可用...
正在检测供应商...
使用ubuntu(systemd)进行配置...
安装Docker ...
将证书复制到本地计算机目录...
将证书复制到远程计算机...
在远程守护程序上设置Docker配置...
错误创建机器:运行配置错误:ssh命令错误:
命令:sudo systemctl -f启动docker
错误:退出状态1
输出:docker.service的作业失败,因为控制进程退出并显示错误代码。 有关详细信息,请参见“ systemctl status docker.service”和“ journalctl -xe”。已启动计算机的输出为:
$ systemctl状态docker.service
●docker.service-Docker应用容器引擎
已加载:已加载(/lib/systemd/system/docker.service;已启用;供应商预设:已启用)
插入:/etc/systemd/system/docker.service.d
└─10-machine.conf
活动:自2017年7月7日星期五以来不活动(无效)(结果:退出代码); 36年前
文件: https :
进程:5522 ExecStart = / usr / bin / dockerd -H tcp://0.0.0.0 :2376 -H unix:///var/run/docker.sock-存储驱动程序aufs --tlsverify --tlscacer
主PID:5522(代码=已退出,状态= 1 /失败)Jul 07 13:34:46 test-dm systemd [1]:docker.service:设备进入失败状态。
Jul 07 13:34:46 test-dm systemd [1]:docker.service:失败,结果为“退出代码”。
7月7日13:34:47 test-dm systemd [1]:docker.service:服务延期超时,计划重新启动。
Jul 07 13:34:47 test-dm systemd [1]:停止了Docker Application Container Engine。
7月7日13:34:47 test-dm systemd [1]:docker.service:启动请求重复太快。
Jul 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
会删除VM和关联的磁盘,即使它无法到达盒子。
@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我今天也在0.12.2上收到此错误!!! 好像10-machine.conf
文件在更新期间不会被覆盖
别客气!
我在存储引擎的命令行选项中指定了“ overlay”,并且
我的机器启动。
ср,2月。 2017年 в12:05,Denis [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日,Seweryn Zeman [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
)上的docker向前移动,并使用了上面列出的适用于我的版本的正确Rancher安装脚本。
出于某种原因,这仍然无法启动docker,但是重新启动计算机即可解决。
可以确认,还是一样的错误
@jhartma我想有必要升级到最新版本(Linux映像)并且可以工作
@kassanmoor似乎我的AMI在AWS上不支持它,我将其与默认值一起使用
最有用的评论
我正在使用它作为解决方法:
docker-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