我正在尝试为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 build运行良好。但是docker run命令给了我这个错误:来自守护进程的错误响应:oci运行时错误:container\u 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需要很多其他数据——仅仅运行该命令似乎不起作用。基于dockerfile的复杂程度,以及我在/etc/init中看到的内容。d/elasticsearch(如果安装在服务器上而不是容器中,elasticsearch将以这种方式运行),我建议使用他们的官方容器,而不是尝试构建自己的容器。
我已经检查了垃圾箱,里面没有ping
我有一个docker映像,它安装了,但是当我试图运行它时,我得到了一个错误: 如果我在交互模式下运行bash,则可用。 我做错了什么? 这是我的Dockerfile:
我有一个运行在Docker容器中的uwsgi服务,我想用它来服务django应用程序。当我在本地运行uwsgi服务时,一切正常,但是从docker容器中我得到消息和,django应用程序显示内部服务器错误。这是我的uwsgi.ini文件。在docker容器中,我使用类似于
在Amazon SageMaker中,我试图部署一个带有Scikit学习模型的自定义创建的Docker容器,但是部署总是出错。 以下是我的步骤: > 在我的本地机器上创建了一个脚本(script.py),并分割了培训和测试数据。该脚本包含一个主要部分,接受参数“输出列车dir”、“模型dir”、“列车”和“测试”,并包含函数模型fn、输入fn、输出fn和预测fn 在本地测试了脚本,效果良好 pyt
问题内容: 我有一个安装的docker映像,但是当我尝试运行它时,出现错误: 如果我以交互模式运行bash,则可用。 我究竟做错了什么? 这是我的Dockerfile: 问题答案: 当您将exec格式用于命令(例如,带双引号的JSON数组)时,将在 没有 外壳的 情况下 执行该命令。这意味着大多数环境变量将不存在。 如果您将命令指定为常规字符串(例如),则之后的字符串将使用来执行。 有关更多信息,
我已经通过libav-tools对安装了ffmpeg的应用程序进行了dockerize。该应用程序启动时没有问题,但是当Fluent-ffmpeg npm模块试图执行ffmpeg命令时出现了问题,但没有找到。当我想检查ffmpeg的版本和图像中设置的linux发行版时,我使用了命令,但它给出了以下错误: 然后我意识到,我尝试在图像或容器中运行的所有命令都会出现同样的错误。 这是我的Dockerfi