在dockerfile中执行curl命令时出错

我有一个4行dockerfile。 前三个命令按预期工作。 但是我在第四行发现错误。

FROM elasticsearch RUN wget https://dumps.wikimedia.org/other/cirrussearch/20160215/emlwiki-20160215-cirrussearch-content.json.gz RUN gunzip emlwiki-20160215-cirrussearch-content.json.gz RUN curl -s -XPOST localhost:9200/wikipedia_content/somelan/_bulk --data-binary @emlwiki-20160215-cirrussearch-content.json 

如何在dockerfile中执行curl命令?

localhost:9200是你的容器的主机/ IP,而不是你的docker主机。 由于您没有运行任何可以在端口9200上侦听的内容,我怀疑您想从主机中提取内容。

通常情况下,您将有另一个容器在9200上进行侦听,您将通过容器名称来引用它,并且您将使用docker-compose启动这两个容器。

要从主机拉出来,需要包含docker主机的IP或主机名而不是localhost。