gpt4 book ai didi

docker - 在$ PATH中找不到Docker Elasticsearch 1.7可执行文件”

转载 作者:行者123 更新时间:2023-12-03 01:40:53 25 4
gpt4 key购买 nike

我正在尝试为Elasticsearch 1.7运行docker容器。以下是我的Dockerfile:

FROM ubuntu:16.04

RUN apt-get update \
&& apt-get install -y curl zip unzip vim software-properties-common \
&& echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections \
&& add-apt-repository -y ppa:webupd8team/java \
&& apt-get update \
&& apt-get install -y oracle-java8-installer \
&& wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add - \
&& echo "deb http://packages.elastic.co/elasticsearch/1.7/debian stable main" | tee -a /etc/apt/sources.list.d/elasticsearch-1.7.list \
&& apt-get update \
&& apt-get install -y elasticsearch \
&& echo "network.host: localhost" >> /etc/elasticsearch/elasticsearch.yml


EXPOSE 9200

CMD ["elasticsearch"]

Docker构建正常。但是 docker run 命令给了我这个错误: 来自守护程序的错误响应:oci运行时错误:container_linux.go:265:启动容器进程引起了“exec:\” elasticsearch \“:在$ PATH中找不到可执行文件”

我正在使用Mac,Docker版本是:17.09.0-ce

最佳答案

这已经有几天了-您解决了吗?错误消息准确说明了问题所在(尽管我不确定为什么会导致问题)。

我基于此进行了docker构建。这是$PATH:

root@96f969e3ab3d:/# echo $PATH
> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

这是(显然)安装Elasticsearch的位置:
root@96f969e3ab3d:/# find / -name 'elasticsearch' -type f
> /etc/default/elasticsearch
> /etc/init.d/elasticsearch
> /usr/share/lintian/overrides/elasticsearch
> /usr/share/elasticsearch/bin/elasticsearch

基于此,看起来Elasticsearch已安装在 /usr/share/elasticsearch/bin/elasticsearch上。我认为最简单的解决方案是将 CMD设置为完整路径:
CMD ["/usr/share/elasticsearch/bin/elasticsearch"]

话虽这么说,elasticsearch还有许多其他数据需要-仅运行该命令似乎无效。基于 how complex their dockerfile是,并根据我在 /etc/init.d/elasticsearch中看到的内容(如果安装在服务器而不是容器中,这是Elasticsearch的运行方式),我将建议使用其官方容器,而不是尝试建立你自己的。

关于docker - 在$ PATH中找不到Docker Elasticsearch 1.7可执行文件”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47722606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com