我是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
我做错了什么恶魔?我该怎么办呢?
最佳答案
您得到的--link
选项的值错误。 docker run
命令的--link选项采用容器名称或ID 作为值,后跟:
和别名(可以是您想要的任何名称)。
您对--link dockerfile/elasticsearch:es
所做的错是传递Docker镜像名称而不是Docker容器名称/ id。
首先,您需要一个用于ElasticSearch的运行容器:
sudo docker run -d -p 9300:9300 --name myelasticsearch dockerfile/elasticsearch
然后,您可以运行logstash容器,链接到名为
myelasticsearch
的容器:sudo docker run -d -e LOGSTASH_CONFIG_URL=pathtomyconfig --link myelasticsearch:es -p 9292:9292 -p 9200:9200 pblittle/docker-logstash
关于elasticsearch - 找不到dockerfile/elasticsearch的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26461284/