Tag: elasticsearch

从本地主机连接到正在运行的docker容器

我刚在Mac OS X上安装了docker & docker机器 。 我有两个正在运行的容器,我想从我的terminal连接到: docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5a15af29232f mysql:latest "/entrypoint.sh mysql" 28 minutes ago Up 28 minutes 0.0.0.0:3306->3306/tcp hopeful_fermi 967f240e77d1 elasticsearch "/docker-entrypoint.s" About an hour ago Up About an hour 9200/tcp, 9300/tcp jolly_swartz 我不知道如何从我的Mac OS Xterminal连接到elasticsearch和MySQL … 我已经试图在两个容器的docker inspect ,以确定什么是IP地址,并连接到使用该IP地址的容器无济于事。 任何人都可以请帮忙?

Docker日志,stderr

是否有可能将泊坞窗日志分开stderr \ stdout? 通过fluentd \ logstash等。最终目标 – 将日志发送到elasticsearch并通过stderr \ stdout进行过滤

Dockerfile用于执行bash脚本的入口点

我从官方存储库(版本2.3)下载了docker文件,现在我想构build映像并将一些本地数据( test.json )上载到容器中。 仅仅运行COPY test.json /usr/share/elasticsearch/data/是不够的,因为在这种情况下数据的索引是没有完成的。 我想实现的是能够运行sudo docker run -d -p 9200:9200 -p 9300:9300 -v /home/gosper/tests/tempESData/:/usr/share/elasticsearch/data test/elasticsearch ,并执行后,我希望能够看到http://localhost:9200/tests/test/999的映射数据。 如果我使用下面给出的Dockerfile和* sh脚本,那么我得到以下错误: Failed to connect to localhost port 9200: Connection refused 这是我从中build立图像的Dockerfile: FROM java:8-jre # grab gosu for easy step-down from root ENV GOSU_VERSION 1.7 RUN set -x \ && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg –print-architecture)" \ && […]

如何使用supervisor在docker容器上运行elasticsearch?

我遇到了一些在基于debian的容器上运行elasticsearch的问题,这是一个无法find日志文件并且不能以root身份运行的组合 。 但即使symlinking的configuration文件不适合我。 我能够得到它运行,认为这可能是有帮助的。 我用这个命令安装了elasticsearch: wget -qO – https://packages.elastic.co/GPG-KEY-elasticsearch | apt-key add – \ && echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list \ && apt-get update \ && apt-get install -y elasticsearch \ && update-rc.d elasticsearch defaults 95 10

似乎无法将Docker容器端口暴露给主机

我可能会错过一些荒谬的事情,但是我试图公开给我的主机(Mac)的每个docker容器似乎都不起作用。 我可以看到,集装箱正在运行,似乎已经适当地暴露在我select的港口。 我错过了什么明显的? 任何帮助将不胜感激。 我下载了最新的ElasticSearch映像: https ://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html 运行Docker: docker run -d -p 9200:9200 docker.elastic.co/elasticsearch/elasticsearch:5.4.0 请求查看正在运行的图像: docker ps 查看运行镜像: 5e8ae3b13f7c docker.elastic.co/elasticsearch/elasticsearch:5.4.0“/ bin / bash bin / es -…”4秒前上传4秒0.0.0.0:9200->9200/tcp,9300 / tcp eloquent_almeida 运行lsof查看端口9200是否暴露 lsof -i tcp:9200 没有回来 Mac OS :10.12.4 Docker更新版本: docker version Client: Version: 17.04.0-ce API version: 1.27 (downgraded from 1.28) Go version: go1.7.5 Git commit: […]

在使用docker撰写时将ES_JAVA_OPTSvariables与空格一起传递

我试图运行使用docker撰写Elasticsearch,但我不知道如何正确地通过ES_JAVA_OPTS="-Xms512m -Xmx512m"环境variables。 我已经尝试了很多单引号和双引号的组合,但它们都导致: Error: Could not find or load main class "-Xms512m 。 我的docker组成configuration是: elasticsearch: image: "docker.elastic.co/elasticsearch/elasticsearch:5.4.3" ports: – "6379:6379" environment: – "http.host=0.0.0.0" – "transport.host=127.0.0.1" – "xpack.security.enabled=false" – 'ES_JAVA_OPTS="-Xms512m -Xmx512m"' 这个环境variables在直接运行容器时工作得很好: docker run –detach \ –name elasticsearch \ –publish 9200:9200 \ –env "http.host=0.0.0.0" \ –env "transport.host=127.0.0.1" \ –env "xpack.security.enabled=false" \ –env "ES_JAVA_OPTS=""-Xms512m -Xmx512m""" \ docker.elastic.co/elasticsearch/elasticsearch:5.4.3 […]

elasticsearch的默认用户和密码是什么?

我已经安装Elastic与Docker : docker run -p 9200:9200 \ -p 9300:9300 \ -e "discovery.type=single-node" \ docker.elastic.co/elasticsearch/elasticsearch:5.6.2 但curl localhost:9200失败,validation错误: { "error": { "root_cause": [ { "type": "security_exception", "reason": "missing authentication token for REST request [/]", "header": { "WWW-Authenticate": "Basic realm=\"security\" charset=\"UTF-8\"" } } ], "type": "security_exception", "reason": "missing authentication token for REST request [/]", "header": { "WWW-Authenticate": "Basic […]

Docker容器在启动时立即退出

我试图在Amazon Linux AMI(标准版)上运行新的Elasticsearch 6.0 docker容器。 我以前有5.6运行没有问题在不同的实例,但我的容器立即崩溃,当我启动它。 这里是我使用的命令docker run -it -p 9200:9200 -p 9300:9300 -d docker.elastic.co/elasticsearch/elasticsearch:6.0.0 我在Docker崩溃时引用了这篇文章,但似乎仍遇到相同的问题: 为什么docker容器立即退出 我运行docker日志,并得到以下回应: [2017-11-28T19:00:30,946][INFO ][oenNode ] [] initializing … [2017-11-28T19:00:31,013][INFO ][oeeNodeEnvironment ] [eEXrI6m] using [1] data paths, mounts [[/ (overlay)]], net usable_space [4.5gb], net total_space [7.7gb], types [overlay] [2017-11-28T19:00:31,014][INFO ][oeeNodeEnvironment ] [eEXrI6m] heap size [989.8mb], compressed ordinary object pointers [true] […]

如何在Docker容器启动后自动运行脚本

我使用Search Guard插件来保护由多个节点组成的elasticsearch集群。 这是我的Dockerfile: #!/bin/sh FROM docker.elastic.co/elasticsearch/elasticsearch:5.6.3 USER root # Install search guard RUN bin/elasticsearch-plugin install –batch com.floragunn:search-guard-5:5.6.3-16 \ && chmod +x \ plugins/search-guard-5/tools/hash.sh \ plugins/search-guard-5/tools/sgadmin.sh \ bin/init_sg.sh \ && chown -R elasticsearch:elasticsearch /usr/share/elasticsearch USER elasticsearch 初始化SearchGuard(创build内部用户并分配angular色)。 我需要在容器启动后运行脚本init_sg.sh 。 这里是问题:除非运行elasticsearch,脚本不会初始化任何安全索引。 该脚本的内容是: sleep 10 plugins/search-guard-5/tools/sgadmin.sh -cd config/ -ts config/truststore.jks -ks config/kirk-keystore.jks -nhnv -icl 现在,我刚刚在容器启动后手动运行该脚本,但是因为我正在Kubernetes上运行脚本。Pod可能会因为某种原因被杀死或失败并自动重新创build。 在这种情况下,插件必须在容器启动后自动初始化! 那么如何做到这一点? 任何帮助或提示将非常感激。

如何使用docker撰写ElasticSeach插件

我有一个具有弹性search图像的docker-compose.yml文件: elasticsearch: image: elasticsearch ports: – "9200:9200" container_name: custom_elasticsearch_1 如果我想安装像HQ接口或附件映射程序的附加插件,我必须使用以下命令进行手动安装: $ docker exec custom_elasticsearch_1 plugin install royrusso/elasticsearch-HQ $ docker exec custom_elasticsearch_1 plugin install mapper-attachments 有没有办法在我运行docker-compose up命令时自动安装它们?