Docker 找不到quay.io/etcd容器命令
我遇到以下错误: docker:来自守护进程的错误响应:容器命令'-name'不是 找到或不存在 我是在仿效这个例子 以下是我尝试运行的配置:Docker 找不到quay.io/etcd容器命令,docker,coreos,etcd,Docker,Coreos,Etcd,我遇到以下错误: docker:来自守护进程的错误响应:容器命令'-name'不是 找到或不存在 我是在仿效这个例子 以下是我尝试运行的配置: docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379 \ --name etcd quay.io/coreos/etcd \ -name k8_etcd0 \ -advertise-client-urls
docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379 \
--name etcd quay.io/coreos/etcd \
-name k8_etcd0 \
-advertise-client-urls http://10.0.0.4:2379,http://10.0.0.3:4001 \
-listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
-initial-advertise-peer-urls http://10.0.0.3:2380 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster-1 \
-initial-cluster k8_etcd0=http://10.0.0.4,k8_etcd1=http://10.0.0.5:2388 \
-initial-cluster-state new
docker run命令中有两个错误- 1.您已经指定了
名称
标志两次
2.第二次指定时,您使用了单破折号而不是双破折号,这是您应该使用的
因此,解决方案是删除第二个名称标志,然后您的命令应该如下所示-
docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379 \
--name etcd quay.io/coreos/etcd \
-advertise-client-urls http://10.0.0.4:2379,http://10.0.0.3:4001 \
-listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
-initial-advertise-peer-urls http://10.0.0.3:2380 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster-1 \
-initial-cluster k8_etcd0=http://10.0.0.4,k8_etcd1=http://10.0.0.5:2388 \
-initial-cluster-state new
我尝试在本地运行它,以查看在我建议的修复之后是否工作,但由于命令中指定的IP对我的计算机是未知的,因此出现了一个错误。如果它们在您的设置中有意义-该命令应在应用我的修复程序后工作。您的docker run命令中有两个错误- 1.您已经指定了
名称
标志两次
2.第二次指定时,您使用了单破折号而不是双破折号,这是您应该使用的
因此,解决方案是删除第二个名称标志,然后您的命令应该如下所示-
docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379 \
--name etcd quay.io/coreos/etcd \
-advertise-client-urls http://10.0.0.4:2379,http://10.0.0.3:4001 \
-listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
-initial-advertise-peer-urls http://10.0.0.3:2380 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster-1 \
-initial-cluster k8_etcd0=http://10.0.0.4,k8_etcd1=http://10.0.0.5:2388 \
-initial-cluster-state new
我尝试在本地运行它,以查看在我建议的修复之后是否工作,但由于命令中指定的IP对我的计算机是未知的,因此出现了一个错误。如果它们在您的设置中有意义-在应用我的修复程序后,该命令应能工作。您缺少在docker容器中启动的命令
etcd
docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379 \
--name etcd quay.io/coreos/etcd \
etcd \
-name k8_etcd0 \
-advertise-client-urls http://10.0.0.4:2379,http://10.0.0.3:4001 \
-listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
-initial-advertise-peer-urls http://10.0.0.3:2380 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster-1 \
-initial-cluster k8_etcd0=http://10.0.0.4,k8_etcd1=http://10.0.0.5:2388 \
-initial-cluster-state new
加上一些您需要的关于初始集群等的修复,但当您在错误消息中启动它时会看到,您缺少在docker容器中启动的命令
etcd
docker run -d -v /usr/share/ca-certificates/:/etc/ssl/certs -p 4001:4001 -p 2380:2380 -p 2379:2379 \
--name etcd quay.io/coreos/etcd \
etcd \
-name k8_etcd0 \
-advertise-client-urls http://10.0.0.4:2379,http://10.0.0.3:4001 \
-listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \
-initial-advertise-peer-urls http://10.0.0.3:2380 \
-listen-peer-urls http://0.0.0.0:2380 \
-initial-cluster-token etcd-cluster-1 \
-initial-cluster k8_etcd0=http://10.0.0.4,k8_etcd1=http://10.0.0.5:2388 \
-initial-cluster-state new
加上一些关于初始集群等需要的修复。但当您在错误消息中启动它时,您会看到事实上,一个名称是docker容器名称,另一个是集群中此节点的etcd内部名称。没错,我错过了。谢谢。事实上,一个名称是docker容器名称,另一个是集群中此节点的etcd内部名称。没错,我没有看到。谢谢。谢谢,它可以工作,但是有你说的错误消息。谢谢,它可以工作,但是有你说的错误消息。