【问题标题】:How do I run a docker image on a DigitalOcean droplet?如何在 DigitalOcean 液滴上运行 docker 映像?
【发布时间】:2020-11-04 10:29:33
【问题描述】:

请注意,docker 对我来说是全新的,我可能在配置中犯了我根本不知道的明显错误。

我的目标是让数字海洋上的水滴做两件事。修改并运行容器时从 repo 中提取图像。

容器将需要运行一个反应应用程序。这也应该在更改时从存储库中提取。

我目前有一个用于我的 react 项目的 docker 映像。我试图回答的问题是:

  1. Droplet 上的 Docker 镜像拉取:

    • 定期从存储库中提取图像
    • 重启镜像
  2. React 应用程序拉动液滴:

    • 定期从存储库中提取版本
    • 重新启动应用程序

我突然想到,从 repo 中提取版本可以通过 cron 作业来实现。已经很久了,但我可能会弄清楚。

我意识到这个问题提供的细节很少。我仍然试图在这里了解许多概念,我发现很多文档并没有完全提供我需要的答案,如果部分是散布在许多页面上的小部分。非常感谢任何帮助或指出方向。

【问题讨论】:

    标签: reactjs docker digital-ocean droplet


    【解决方案1】:

    您可以使用WatchTower

    • 定期从 repo 中提取图像

    • 重启镜像

    此处的完整文档:WatchTower - 转到“参数”部分以查看调度参数。

    我不知道您为什么要在运行 docker 映像时从 repo 中提取项目,但为此,您可以在数字海洋服务器上使用 jenkins 进行 CI/CD。 您只需要一些基本教程即可:

    • 定期从 repo 中提取一个版本

    • 重启应用

    【讨论】:

      【解决方案2】:

      我认为首先你需要澄清一些基本概念。

      • 图片就像一个模板
      • 容器是图像的实例

      图像无法重新启动,因为它们不是某些东西的实例,而容器可以重新启动,因为它们正在运行特定版本的图像。

      另外,我认为您在 cron 环境下实施了错误的更新方法,因为如果您不小心推送了错误的图像会发生什么?所有的系统都会失败,所以,恕我直言,我强烈建议你不要这样做,更好的是,通过 Jenkins、Github Actions、Gitlab Pipelines 等工具来完成,并使用更好的 CI/CD 实践。

      【讨论】:

        猜你喜欢
        • 2019-02-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-13
        • 1970-01-01
        • 1970-01-01
        • 2022-08-23
        • 1970-01-01
        • 2023-03-21
        相关资源
        最近更新 更多