hausgold/elasticsearch!启用mDNS的官方Elasticsearch
。
只需按以下方式运行,即可获得可用的Elasticsearch:
bash$ docker run --rm hausgold/elasticsearch
haproxy会将9200端口代理到80端口,使elasticsearch.local可直接访问。9200和9300端口保持不变。
yamlservices: elasticsearch: image: hausgold/elasticsearch environment: # 注意.local后缀 MDNS_HOSTNAME: elasticsearch.test.local ES_JAVA_OPTS: -Xms128m -Xmx128m discovery.type: single-node ports: # 这些端口仅用于您在配置容器链接或依赖容器时参考 - "9200" - "9300" ulimits: # 由于systemd/pam的RLIMIT_NOFILE设置(容器内的最大值),Java进程似乎会分配巨大的限制, # 导致出现“无法分配文件描述符表 - 内存不足”错误。暂时降低此值可解决该问题。 # # 参见:[***] # 参见:[***] nofile: soft: *** hard: ***
安装nss-mdns包,启用并启动avahi-daemon.service。然后,编辑/etc/nsswitch.conf文件,将hosts行修改如下:
bashhosts: ... mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns ...
通过MDNS_HOSTNAME环境变量可以配置主机名。只需在docker run命令中按以下方式传递:
bash$ docker run --rm -e MDNS_HOSTNAME=something.else.local hausgold/elasticsearch
这将使服务可通过something.else.local访问。
您还可以通过传递MDNS_CNAMES环境变量为容器配置多个别名(CNAME)。它会将所有逗号分隔的域名注册为容器的别名,与常规mDNS主机名并列。
bash$ docker run --rm \ -e MDNS_HOSTNAME=something.else.local \ -e MDNS_CNAMES=nothing.else.local,special.local \ hausgold/elasticsearch
这将使服务可通过something.else.local、nothing.else.local和special.local访问。
默认情况下,.local是mDNS的默认顶级域名。此镜像不强制您使用它。但如果您不使用默认的*.local*顶级域名,则需要配置主机的avahi以接受它。



manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务