Docker-Compose中的command应该如何使用,有个run语句如何转成docker-compose

张天星 2020-07-11 07:05:21
- command:覆盖容器启动后默认执行的命令
command: bundle exec thin -p 3000
这个是我百度上找到的答案,可是,bundle exec thin具体是什么内容呢。
我有个语句:

docker run -it -d -v d:/dockerConfig/es_single/logstash/config/:/usr/share/logstash/config/ -v d:/dockerConfig/es_single/logstash/conf.d/:/usr/share/logstash/conf.d/ --network es_single_es_single --network-alias logstash -p 5044:5044 -p 5045:5045 --name logstash73 logstash:7.3.0 /usr/share/logstash/bin/logstash -f /usr/share/logstash/conf.d/logstash.conf

直接执行,是可以正常运行的
可是改成docker-compose,特别是最后一句覆盖的启动语句,应该怎么写到docker-compose里面?

logstash:
restart: always
image: logstash:7.3.0
container_name: logstash73
ports:
- 5044:5044
- 5045:5045
- 9600:9600
volumes:
- d:/dockerConfig/es_single/logstash/config/:/usr/share/logstash/config/
- d:/dockerConfig/es_single/logstash/conf.d/:/usr/share/logstash/conf.d/
command:
- /usr/share/logstash/bin/logstash -f /usr/share/logstash/conf.d/logstash.conf
networks:
- es_single

用这个执行之后,提示错误:/usr/local/bin/docker-entrypoint: line 14: /usr/share/logstash/bin/logstash -f /usr/share/logstash/conf.d/logstash.conf: No such file or directory
...全文
6955 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
张天星 2021-02-26
  • 打赏
  • 举报
回复
command: /usr/share/logstash/bin/logstash -f /usr/share/logstash/conf.d/logstash.conf command: ["/usr/share/logstash/bin/logstash","-f","/usr/share/logstash/conf.d/logstash.conf"]
mouse_zhu 2021-02-26
  • 打赏
  • 举报
回复
好像是要这样设计 command: - /bin/bash - -c - | /usr/share/logstash/bin/logstash -f /usr/share/logstash/conf.d/logstash.conf
张天星 2021-02-25
  • 打赏
  • 举报
回复
没人回复了,白送结贴了

1,163

社区成员

发帖
与我相关
我的任务
社区描述
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。
社区管理员
  • Docker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧