2016-12-20 3 views
1

Wenn ich versuche zu laufen ETCD (Version 3.0.0) auf Docker:Fehler beim Laufen ETCD v3 auf Docker

sudo 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:v3.0.0 \ 
-name etcd0 \ 
-advertise-client-urls http://${HostIP}:2379,http://${HostIP}:4001 \ 
-listen-client-urls http://0.0.0.0:2379,http://0.0.0.0:4001 \ 
-initial-advertise-peer-urls http://${HostIP}:2380 \ 
-listen-peer-urls http://0.0.0.0:2380 \ 
-initial-cluster-token etcd-cluster-1 \ 
-initial-cluster etcd0=http://${HostIP}:2380 \ 
-initial-cluster-state new 

ich einen Fehler haben:

docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"-name\\\": executable file not found in $PATH\"\n".

Was ist der Grund, von diesem Fehler und wie ich es beheben kann?

+0

nicht eine Programmierung, sondern ein Docker Admin Problem, sorry, Wegthema imho. –

+0

Scheint, das Bild hat keinen 'ENTRYPOINT' definiert und versucht den Befehl '-name' auszuführen, der natürlich nicht gefunden wird. – Henry

+0

In etcd v3 hat sich die Docker-Schnittstelle geändert, so dass man den Startbefehl geben muss, wenn man Parameter geben will. Dies ist so, dass das Bild auch zum Ausführen von z.B. das Befehlszeilentool etcdctl. Siehe mein Repo für Beispiele, die funktionieren: https://github.com/akauppi/etcd3-bench/blob/master/docs/Running%20etcd%20manual.md – akauppi

Antwort

1

Wie in den Kommentaren erwähnt, enthält das quay.io/coreos/etcd:v3.0.0 Bild kein ENTRYPOINT, stattdessen opting für CMD. Also, wenn Sie alle Argumente liefern wollen auf dem docker run Sie den Befehl auch angeben müssen:

docker run -p 2379:2379 --name etcd quay.io/coreos/etcd:v3.1.0 \ 
    /usr/local/bin/etcd \ 
     --advertise-client-urls http://0.0.0.0:2379 \ 
     --listen-client-urls http://0.0.0.0:2379 \ 
     --initial-advertise-peer-urls http://0.0.0.0:2380 \ 
     --listen-peer-urls http://0.0.0.0:2380 \ 
     --initial-cluster "default=http://0.0.0.0:2380" 
Verwandte Themen