【问题标题】:Some questions from a newbie on Docker and Docker Elasticsearch image一个新手关于 Docker 和 Docker Elasticsearch 镜像的一些问题
【发布时间】:2017-11-26 19:34:32
【问题描述】:

我是 Elasticsearch 和 Docker 的新手,我对它们有一些疑问。我通过以下命令检索了 docker/elastic 图像:

docker pull docker.elastic.co/elasticsearch/elasticsearch:5.4.2

我是这样开始的:

docker run -p 9200:9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" docker.elastic.co/elasticsearch/elasticsearch:5.4.2

这是我的问题:

  1. 我从 docker 文档中知道“docker run”命令用于在容器内运行特定命令。那么根据上一条,unix命令是什么?

    docker run -p 9200:9200(将所有暴露的端口发布到随机端口)-e“http.host=0.0.0.0”-e“transport.host=127.0.0.1”(设置环境变量)docker.elastic。 co/elasticsearch/elasticsearch:5.4.2(图片名称)

那么命令在哪里呢?我怀疑这就像弹性搜索与容器一起开始。如果是这样,图片的创建者是如何做到的?

  1. 在没有弹性标准输出的情况下运行容器的最佳方式是什么?

  2. 我尝试构建一个基于 CentOS 的自定义 docker 映像,我想在其中安装 elasticsearch 就像一个服务(通过 rpm)。安装工作正常,但是当我尝试通过 systemctl 运行 elasticsearch.service 时,出现以下错误:

获取 D-Bus 连接失败:不允许操作

我该如何解决这个问题?

【问题讨论】:

    标签: elasticsearch docker dockerfile


    【解决方案1】:

    让我试着一一回答问题:

    1. 这是通过在链接here 的 Dockerfile 中提供默认的CMD 来完成的。此外,docker run 用于运行容器,其中可以通过命令提供CMD,或者使用Dockerfile 中指定的默认值。我建议阅读detail 中的ENTRYPOINTCMD

    2. 您必须使用-d 标志。它将以分离模式运行容器,为您提供您正在寻找的内容。详细信息here. 可以添加--restart=always 以将其作为长期运行的服务运行。

    3. 试试sudo?这里没有足够的信息来回答这部分。请提供可能有帮助的systemd 服务的日志。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-03
      • 1970-01-01
      • 1970-01-01
      • 2011-06-05
      • 2021-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多