首页 > 解决方案 > docker-compose 为一个服务运行多个命令

问题描述

我在 Windows 上使用 docker - 版本18.03(客户端)/ 18.05(服务器)。我已经docker-compose为 ELK 堆栈创建了文件。一切正常。我想做的是,logtrail在 kibana 启动之前安装。我在考虑logtrail*.zip先复制,然后调用安装:

container_name: kibana
(...)
command:
  - docker cp kibana:/ ./kibana/logtrail/logtrail-6.7.1-0.1.31.zip
  - /bin/bash
  - ./bin/kibana-plugin install/logtrail-6.7.1-0.1.31.zip

但这看起来不像是正确的方式,因为首先它不起作用,其次我不确定我是否可以像我一样调用多个命令,第三我不确定是否允许docker cpincommand服务创建的那个阶段

标签: docker

解决方案


command:
- /bin/bash
- -c
- |
  echo "This is a multiline command"
  echo "See how I escape $$ sign"
  echo $$PATH

您可以像上面那样运行多个命令,但是不能docker cp像在命令中那样运行。


推荐阅读