Ошибка при запуске 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".
В чем причина этой ошибки и как я могу это исправить?
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"
У меня есть следующая ошибка:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"-e\": executable file not found in $PATH": unknown.
Следовательно с v3.1.0
а также последний
docker run --rm --name etcd -p 2379:2379 quay.io/coreos/etcd:v3.1.0 -e ETCDCTL_API=3 /usr/local/bin/etcd -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379
Вчера я запустил образы без ошибок после остановки контейнера и попыток запустить его снова, у меня есть эти проблемы.