我可以在本地生产环境中使用docker吗?

问题描述 投票:0回答:1

我已经使用PHP创建了POS应用程序。我将在生产中每个商店的apache上的本地PC上运行此应用程序。我们大约有50家以上的商店。我们之所以要在本地运行,是为了实现高可用性(互联网问题)。现在,我正在使用詹金斯进行连续交付,到目前为止,这对我的情况是有好处的。但我需要更可靠的东西。如果我与docker一起蜂拥而至,则不适用于本地生产环境。我需要在每50家商店或50台计算机上运行我的应用程序。我的问题是跨这些机器交付代码的最佳方法是什么,以及如何监视那里的性能。

注意:我们的商店与内部网络连接,因此每个商店都有其唯一的IP地址。

docker jenkins kubernetes continuous-integration continuous-deployment
1个回答
0
投票

[使用Docker映像打包和分发应用程序有许多潜在优势:

  1. 您将可以作为一个单元分发图像(docker push Xdocker pull X
  2. 在50台机器的每台(!)上前滚和后滚映像版本应该更简单
  3. 您有更大的保证,您所分发的内容将正确运行
  4. 带外(!)图像散列确保发送的内容与计算机接收到的相匹配
  5. Docker映像应不比其他分发形式的包装差

[Docker独自解决了几个未解决的问题,[!?]解决了]]]

    将图像分发到机器;每台机器需要拉一张图像

  • 集中记录和监视
  • 您的挑战与管理物联网设备的人们所面临的挑战无异。这些“边缘”设备需要一种用于分发二进制文件,报告等的机制。对于您所遇到的问题,我不熟悉具体的解决方案。我觉得您需要:
    1. 实施一种机制,该机制可以定期(!?)轮询注册表以更新映像,或者(更有效地)收到更新通知。
  • 下载新映像并替换正在运行的映像版本而不会造成停机
  • 如果有问题可回滚
  • 将日志记录和监视提供到中央位置
  • PC上的容器映像管理,以便可以安全删除较旧的图像
  • 备份和经过测试的还原,natch。
  • 建议|注意事项:
    • 您可以将您的Jenkins构建管道与Docker集成以构建映像
    • 有许多用于管理容器图像的工具DockerHubQuayGCR
    • 始终使用TLS以及您的工具允许的其他任何安全机制
    • 始终通过@sha256:哈希(而不是:tag)引用容器图像
    • Prometheus是出色的监视工具,并且包括用于实施指标的客户端库
    • 考虑OpenTelemetry作为避免通过Prometheus锁定客户端指标生成的一种方法。
    • HTH!
    © www.soinside.com 2019 - 2024. All rights reserved.