Ошибка при запуске etcd v3 в Docker

Когда я пытаюсь запустить etcd (версия 3.0.0) в 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

У меня ошибка:

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".

В чем причина этой ошибки и как ее исправить?


person Roman Cherepanov    schedule 20.12.2016    source источник
comment
не программирование, а проблема администратора докера, извините, имхо не по теме.   -  person Marcus Müller    schedule 20.12.2016
comment
Кажется, образ не имеет определенного ENTRYPOINT и пытается запустить команду -name, которая, конечно же, не найдена.   -  person Henry    schedule 20.12.2016
comment
В etcd v3 интерфейс Docker изменился, так что нужно дать команду запуска, если вы хотите указать параметры. Это сделано для того, чтобы изображение можно было использовать также для запуска, например. инструмент командной строки etcdctl. См. мой репозиторий для примеров, которые работают: github. com/akauppi/etcd3-bench/blob/master/docs/   -  person akauppi    schedule 26.01.2017


Ответы (1)


Как упоминалось в комментариях, quay.io/coreos/etcd:v3 Изображение .0.0 не содержит ENTRYPOINT, вместо этого выбрано CMD. Итак, если вы хотите указать все аргументы в docker run, вам также нужно будет указать команду:

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"
person Lucas    schedule 21.06.2017