就像“make”代表D

2021-09-17 00:18:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将我的应用程序包装到docker容器中,这会导致我经常键入一些非常详细的命令:

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,但是有没有一个更现代的解决方案,当我使用空格而不是制表符时,它不会中断,而且更易于使用?你知道吗

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

2条回答
网友
1楼 ·

dobi就是设计成这样的工具。一个“构建自动化”工具,它使用容器来完成所有任务。所有内容都在yaml文件中配置,您可以像使用make:dobi <task>一样运行任务

网友
2楼 ·

看看docker compose。你知道吗

如果您创建以下docker-合成.yml文件与您的Dockerfile文件位于同一文件夹中:

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

然后可以使用:docker-compose build构建

开始一个新的容器:docker-compose up


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

有关更多信息,请查看Docker composedocumentationfile reference。你知道吗

相关问题