Docker教程中将curl转换为elasticsearch容器会返回“未列出”的容器吗?

时间:2018-09-24 04:24:33

标签: docker

tutorial link上的此官方初学者教程令人h目结舌...请参见下文:

from https://docker-curriculum.com/

应该用cluster_name elasticsearch给出上述输出,但是我得到以下信息:

root@14413fdd3ada:/opt/flask-app# curl 172.17.0.2:9200                                                                                                
{                                                                                                                                                     
  "name" : "JNOKOND",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "tr4BVq4zT4WlGPRxSxp9EA",
  "version" : {
    "number" : "6.3.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "053779d",
    "build_date" : "2018-07-20T05:20:23.451332Z",
    "build_snapshot" : false,
    "lucene_version" : "7.3.1",
    "minimum_wire_compatibility_version" : "5.6.0",

所以叫做docker-cluster而不是elasticsearch

有人知道为什么会这样吗?

1 个答案:

答案 0 :(得分:0)

这完全是我的坏消息(这里是新手)。我认为Sujay上面提到了一些有关config的内容,但我通过停止所有容器然后运行以下四个命令来使其工作:

#!/bin/bash

# build the flask container
docker build -t prakhar1989/foodtrucks-web .

# create the network
docker network create foodtrucks-net

# start the ES container
docker run -d --name es --net foodtrucks-net -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2

# start the flask app container
docker run -d --net foodtrucks-net -p 5000:5000 --name foodtrucks-web prakhar1989/foodtrucks-web

和以前一样(对不起,但是我的新手记忆并不好),我做了前三个命令,然后以分离模式运行了第四个命令(即不在foodtrucks-web网络中),所以烧瓶应用容器正在运行默认的桥接网络。