我在Windows上使用docker-版本18.03
(客户端)/ 18.05
(服务器)。我已经为ELK堆栈创建了docker-compose
文件。一切正常。我想做的是在启动kibana之前安装logtrail
。我当时正在考虑先复制logtrail*.zip
,然后再调用install:
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 cp
中的1}}
答案 0 :(得分:0)
如果您要安装软件,David Maze的评论似乎是标准路径。如果您想实际运行多个命令,请查看此问题Using Docker-Compose, how to execute multiple commands
的答案答案 1 :(得分:0)
您可以通过以下方式在 docker compose 中为一个服务运行多个命令:
command: sh -c "command1 && command2 && command2"
答案 2 :(得分:-1)
command:
- /bin/bash
- -c
- |
echo "This is a multiline command"
echo "See how I escape $$ sign"
echo $$PATH
您可以像上面那样运行多个命令,但是不能像命令中那样运行docker cp
。