Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何构建新的docker映像并启动容器_Docker_Rabbitmq_Logstash_Dockerfile - Fatal编程技术网

如何构建新的docker映像并启动容器

如何构建新的docker映像并启动容器,docker,rabbitmq,logstash,dockerfile,Docker,Rabbitmq,Logstash,Dockerfile,我是新来的码头工人。我想将rabbitmq消息推送到elastic 现在我有两个日志索引器图像:ctdcto23:5000/logstash indexer:latest和ctdcto23:5000/logstash indexer:1.0.0-rc3。它们之间的区别是indexer.conf。前者是 input { redis { host => '' port => key => ''

我是新来的码头工人。我想将rabbitmq消息推送到elastic

现在我有两个日志索引器图像:
ctdcto23:5000/logstash indexer:latest
ctdcto23:5000/logstash indexer:1.0.0-rc3
。它们之间的区别是
indexer.conf
。前者是 input { redis { host => '' port => key => '' password => '' data_type => 'list' tags => ['service-log'] } rabbitmq { host => '' user => '' password => '' port => 5672 queue => 'security audit' exchage => 'exchange' key => 'security audit' durable => 'true' } } 输入{ 雷迪斯{ 主机=>'' 端口=> 键=>“” 密码=>“” 数据类型=>“列表” 标签=>['service-log'] } 兔子{ 主机=>'' 用户=>“” 密码=>“” 端口=>5672 队列=>“安全审核” 交换=>“交换” key=>“安全审计” 持久=>'true' } } 后者省略了rabbitmq。yaml文件如下所示:

redis: image: ctdcto23:5000/redis:1.0.0-rc1 restart: always ports: - "6379:6379" elasticsearch: image: ctdcto23:5000/elasticsearch:1.0.0-rc3 restart: always ports: - "9200:9200" - "9300:9300" volumes: - /var/local/esdata:/usr/share/elasticsearch/data command: elasticsearch -Des.cluster.name="xx-cluster" -Des.node.name="xx-1" kibana: image: ctdcto23:5000/kibana:4.0.3 restart: always links: - elasticsearch ports: - "5601:5601" logstash-indexer: image: ctdcto23:5000/logstash-indexer:1.0.0-rc3 restart: always links: - redis - elasticsearch environment: - OPTS=--verbose redis: 图像:ctdcto23:5000/redis:1.0.0-rc1 重新启动:始终 端口: - "6379:6379" 弹性搜索: 图像:ctdcto23:5000/elasticsearch:1.0.0-rc3 重新启动:始终 端口: - "9200:9200" - "9300:9300" 卷数: -/var/local/esdata:/usr/share/elasticsearch/data 命令:elasticsearch-Des.cluster.name=“xx cluster”-Des.node.name=“xx-1” 基巴纳: 图像:ctdcto23:5000/kibana:4.0.3 重新启动:始终 链接: -弹性搜索 端口: - "5601:5601" 日志存储索引器: 图像:ctdcto23:5000/对数存储索引器:1.0.0-rc3 重新启动:始终 链接: -雷迪斯 -弹性搜索 环境: -OPTS=--verbose 使用Dockfile构建图像:

FROM ctdcto23:5000/logstash:latest MAINTAINER xxx # Add a directory to process setup scripts for the container RUN mkdir -p /opt/logstash/conf /opt/logstash/patterns COPY indexer.conf /opt/logstash/conf/ COPY patterns/* /opt/logstash/patterns/ COPY docker-entrypoint.sh / RUN chmod +x /docker-entrypoint.sh ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["logstash"] 从ctdcto23:5000/日志存储:最新 维护者xxx #添加目录以处理容器的安装脚本 运行mkdir-p/opt/logstash/conf/opt/logstash/patterns 复制indexer.conf/opt/logstash/conf/ 复制模式/*/opt/logstash/patterns/ 复制docker-entrypoint.sh/ 运行chmod+x/docker-entrypoint.sh 入口点[“/docker ENTRYPOINT.sh”] CMD[“logstash”]
问题是,当我构建新映像并用yaml文件启动它时。容器状态始终处于重新启动状态,无法进入容器。

您发布的yaml文件应与
docker compose
一起运行。我不明白你在做什么;你能写下你是如何运行(和构建)容器的吗?无论如何,您可以使用
docker exec
从已经运行的容器内部运行交互式会话(“输入容器”)。@Javier I使用docker compose命令启动容器。当我使用docker run直接使用图像构建时,我可以使用1.0.0-rc3进入容器并使用最新版本失败。事实上,我使用Dockfile构建映像,并使用yaml文件启动容器。indexer.conf文件中有不同的日志存储输入。您发布的yaml文件应该与
docker compose
一起运行。我不明白你在做什么;你能写下你是如何运行(和构建)容器的吗?无论如何,您可以使用
docker exec
从已经运行的容器内部运行交互式会话(“输入容器”)。@Javier I使用docker compose命令启动容器。当我使用docker run直接使用图像构建时,我可以使用1.0.0-rc3进入容器并使用最新版本失败。事实上,我使用Dockfile构建映像,并使用yaml文件启动容器。indexer.conf文件中有不同的日志存储输入。