gpt4 book ai didi

docker - 更好地处理Docker镜像

转载 作者:行者123 更新时间:2023-12-02 18:21:20 24 4
gpt4 key购买 nike

我是Docker的新手,所以我想知道使用它的更好方法是什么。我有一个需要三个组件才能工作的项目:

  • Jboss服务器应用程序
  • PostgreSQL
  • 一个 Spring 启动应用程序

  • 因此,基于此,我的问题是:

    1)我应该为上述每个组件使用一个docker镜像吗?如果是,为什么不将所有内容放在一起?我对docker的想法是简化应用程序的部署,因此将它们组合在一起将使在另一个环境中安装该应用程序变得容易,对吗?

    2)如果是(每个组件一个docker镜像),spring boot只是一个“Java -jar”命令,真的有必要添加docker镜像吗?

    3)如果是PostgreSQL,我应该具有包含所有数据库结构和数据的镜像,还是只有范本的PostgreSQL而没有任何内容?

    最佳答案

    回答您的问题

    1) should I have one docker image for each component mentioned above ? If yes, why not just put all together? My idea of docker is simplify the deploy of a application so put all together will make easy to install this app in another environment, right?



    最好将它们放在单独的组件上,以便:
  • 您可以隔离案例(将帮助您进行调试)
  • 当您在k8s或docker-swarm
  • 上运行时,您可以 选择性地(水平)缩放特定 无状态组件
  • 您可以为每个组件设置硬件限制(RAM,CPU等)
  • 您有不同的基本图像(可能对优化有用)
  • 您想构建并测试您的组件独立

  • list 继续

    2) if yes (one docker image per component), spring boot is just a "Java -jar" command is really necessary have a docker image to it?



    如果适合您的用例,请检查上面提到的列表(为什么最好分开) 请注意,将其添加到现有组件 中会影响您的扩展策略

    示例-使用spring boot应用程序运行3个 jboss组件实例,您将为两个实例都生成3个您可能不想要的实例。

    3) in case of PostgreSQL should I have the image with all my database structure and data or just vanilla PostgreSQL without anything?



    我建议您将结构和数据挂载到主机卷,这样在重新启动镜像时它不会丢失。 see example,所以我建议您使用 Vanilla postgres

    我希望这可以对您有所帮助

    关于docker - 更好地处理Docker镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51799878/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com