就像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 test
, make run
, make 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的,你可以像使用make
: dobi <task>
一样运行任务