就像Docker的“make”一样

我正在添加将我的应用程序封装在docker容器中,这导致我经常input一些非常冗长的命令:

sudo docker build -t foo/bar . sudo docker run foo/bar /bin/bash /path/to/my/script/test_report.sh ... 

我想用某种方式把它们包装在一个脚本中,使它们更容易执行,并让我忘记运行之间的细节。

Make做得很好。 说明可以包装在一起,所以我可以做make testmake runmake deploy或其他。

我认为没有什么能够阻止我使用make,但是有没有更现代的解决scheme,当我使用空格而不是制表符时,它不会中断,而是更愉快的工作?

我的项目是Python,但我正在寻找一个通用的解决scheme。 最好是让我包装bash脚本(因为这使我有无限的灵活性)

看看docker-compose。

如果在与Dockerfile相同的文件夹中创build以下docker-compose.yml文件,请执行以下操作

 foobar: build: . command: /bin/bash /path/to/my/script/test_report.sh 

你可以用: docker-compose build

并启动一个新的容器: docker-compose up


Docker撰写的有趣之处在于,您可以在撰写文件中定义与docker run命令相关的任何内容,如卷,已发布端口等。

有关更多信息,请参阅Docker撰写文档和文件参考 。

dobi的devise就是那个工具。 使用容器执行所有任务的“构build自动化”工具。 一切都是在yaml文件中configuration的,你可以像使用makedobi <task>一样运行任务