找不到dockerfile / elasticsearch的实体

时间:2014-10-20 08:22:58

标签: elasticsearch docker logstash

我是Docker的新手,我遇到了问题。

我尝试使用此命令启动pblittle/docker-logstash容器:

sudo docker run -d -e LOGSTASH_CONFIG_URL=pathtomyconfig --link dockerfile/elasticsearch:es -p 9292:9292 -p 9200:9200 pblittle/docker-logstash

我收到以下错误:

Error: Could not find entity for dockerfile/elasticsearch

如果我sudo docker ps获得以下内容:

CONTAINER ID        IMAGE                             COMMAND                CREATED             STATUS              PORTS                                            NAMES
0021bd567d95        dockerfile/elasticsearch:latest   /elasticsearch/bin/e   7 minutes ago       Up 7 minutes        0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   cranky_meitner2
e900cbb758a5        dockerfile/redis:latest           redis-server /etc/re   12 hours ago        Up 7 minutes        0.0.0.0:6379->6379/tcp                           redis
592a4f8d97f2        dockerfile/redis:latest           redis-server /etc/re   12 hours ago        Up 7 minutes        6379/tcp                                         cocky_thompson4

我做错了什么恶魔?我怎样才能弄清楚发生了什么?

1 个答案:

答案 0 :(得分:2)

--link选项的值错误。 docker run命令的--link选项将容器名称或ID 作为值,后跟:后跟别名(可以是您想要的任何内容)。

你对--link dockerfile/elasticsearch:es做错的是传入一个Docker镜像名而不是一个docker容器名/ id。

首先,您需要一个用于ElasticSearch的运行容器:

sudo docker run -d -p 9300:9300 --name myelasticsearch dockerfile/elasticsearch

然后,您可以运行链接到名为myelasticsearch

的容器的logstash容器
sudo docker run -d -e LOGSTASH_CONFIG_URL=pathtomyconfig --link myelasticsearch:es -p 9292:9292 -p 9200:9200 pblittle/docker-logstash