是否可以仅在没有Dockerfile的情况下使用docker-compose.yml在Docker容器上运行脚本或可执行文件

时间:2018-12-06 07:57:06

标签: docker docker-compose dockerfile

在配置了docker-compose up --build且包含语法Dockerfile的{​​{1}}上运行脚本RUN时,脚本或可执行文件可以自动在 Docker容器上运行,脚本或可执行文件等等可以在构建过程中自动运行。

问题:但是仅使用docker-compose而不使用Dockerfile可以实现相同的目标,例如运行可执行文件或脚本吗?在这种情况下,docker-compose.yml中可能有与RUN中的Dockerfile类似的命令?

2 个答案:

答案 0 :(得分:0)

您可以在docker-compose中执行的操作是通过设置“命令”来覆盖构建后执行的默认命令。

参见此处:https://docs.docker.com/compose/compose-file/#command

我认为docker-compose.yml没有类似RUN的功能。

答案 1 :(得分:0)

如果我理解您的问题,那么答案是肯定的:在您的 docker-compose.yml 文件中的容器配置中使用:

entrypoint: ["/bin/sh","-c"]
command:
   - |
      ls -la
      echo 'hello'

或者任何你想运行的命令。