我熟悉了docker,我认为这是一个非常棒的工具。
但是,我有时会做一些小错字导致容器无法运行或运行状态不佳,而且经常需要一段时间才能找到问题。有关于如何使用docker进行测试的文章很棒。但是在开始测试在docker容器中运行的目标应用程序之前,我想检查一下安装的构建和运行是否成功,换句话说就是编写测试以检查“准备好测试”(这些测试可能是但是,重新用于检查生产准备情况,这可能需要更多功能,如功能和性能测试)。令人惊讶的是,我几乎找不到关于如何测试docker容器基础结构本身的文章。
我正在考虑的是找到策略和最佳实践来测试构建和运行任何docker基础结构所做的任何事情,即创建映像,运行容器,组合,swarm等。这将包括检查是否需要所有文件和资源被复制到正确的位置,网络中所需的服务器启动并运行,并在正确的端口上给出预期的答案,并最终测试是否在性能测量方面做得很好。
因此,我想询问社区是否有人已经开始做这样的事情,如果互联网上有公共场所可以跟随,或者是否有人有兴趣建立这样一个网站。
这是我使用docker的工作流程,也许它可以帮助你:
www
之类的nginx
。此图像保留在私有存储库中。database
,cache
,log stack
。我总是使用此容器的基本映像并仅自定义一些配置文件。www
图像标记进行换出。www
图像在构建之前已经过测试,我可以依赖它,因为其他容器都是UP,我的应用程序应该可以工作。database
,cache
和其他服务是否按预期运行,并返回200或500状态代码。我使用的这种方法几乎是防错的,但是在任何改变之后它需要一些关于测试所有内容的规则。使用自动化测试(编写良好的测试)至关重要,所有这些过程都可以使用持续集成工具自动化所有内容。
我正在使用这个过程,因为我在一年前迁移到生产的docker,至少发布了100个版本没有问题。