当前位置: 首页 > 知识库问答 >
问题:

Docker设置

姬向明
2023-03-14

我最近读了很多关于Docker的书,我甚至试着在我的笔记本电脑上用Vagrant来运行它。但我仍然不清楚为什么,特别是如何向我的团队介绍它。只是我没有看到用例。

我知道您可以为web服务器和DB创建容器。所以大家可以说,嘿,伙计们,现在我们使用的是我创建的Custom-Tomcat-1和Custom-Mysql-1容器。到目前为止还很清楚。我遇到的问题是那些“数据容器”。

我仍然可以理解,我将拥有DB-Data-1.4和DB容器的数据文件,该数据文件已更新到当前模式,我可以拥有Web-App-3.5和我的部署工具,该文件将以某种方式与DB-data映像相对应。

那爪哇呢?。如果我有java DB,我需要在所有使用JVM的容器上安装JVM?

到目前为止还说得通吗?现在有些东西我看不清它们的位置。

>

  • 本地开发人员将如何使用它?他将创建一些Web应用图像快照并启动它?或者以某种方式跳过WEB-app映像的使用,而以某种方式将构建文件直接提供给服务器映像?

    对于jenkins,我想它会从Git下载代码。构建它并创建一些WEB-app图像快照。启动一切。现在我可以运行一些集成测试,以某种方式从外部使用应用程序,但如何使用呢?

    基本上有两个问题:如何使用docker进行本地开发,以及如何执行集成测试。我需要真实的用例,这样我就可以看到它的大图。我们使用了maven、java、spring、sql db、jenkins、JUnit。

  • 共有1个答案

    公冶弘壮
    2023-03-14

    docker迫使您认真思考应用程序中哪些是不可变的和可变的部分。不可变部分被构建为基本映像,而可变部分被构建为容器(并可能被持久化为映像)。例如,您可能决定为特定的开发发布周期锁定OS版本和Java版本。这是不可变的部分,因此您可以基于它构建应用程序的基本映像。应用程序代码将添加到基映像中并作为容器运行。

    稍后,当开发和测试完成,并且准备投入生产时,您可能需要对照最新的OS补丁和Java更新重新测试应用程序。此时,您可以从新版本的基本映像开始并重新运行测试。如果测试成功,这将成为构建的新基线。

    在类似的情况下,如果您的数据库包含预定义的模式和/或预加载的数据(不可变),则可以将其设计为仅有数据的卷,并以只读方式挂载到容器上。在应用程序测试运行期间对数据库进行的任何更新都将保留在容器的文件系统层中。

     类似资料:
    • 基本上,我试图设置一个Redis-sentinel docker实例,并希望从我的应用程序容器进行调用。我正在运行的问题是,redis-sentinel容器链接到应用程序容器。 因此,最初该应用程序询问哨兵进程关于redis Master的情况。哨兵接着说是“127.0.0.1”。但是应用程序容器假定它是容器本地的。这可以通过在sentinel进程开始时传递的公告-IP/公告-端口参数来克服。然而

    • 问题内容: 我正在尝试建立一个docker / fig Mesos集群。我是无花果和Docker的新手。Docker有很多文档,但是我发现自己很努力地了解如何使用fig。 这是我目前的fig.yaml: 谢谢 ! 编辑: 多亏了Mark O`Connor的帮助,我创建了一个基于docker的mesos实用设置(+ Storm,Chronos等)。 尽情享受,如果您觉得这有用-请贡献:https :

    • 我正在为我的项目创建一个基础图像。在这个基础图片中,我将下载一些。焦油gzs并提取它们。 我想将这些解压缩的目录添加到路径中,因此在子图像中,我可以直接调用下载的可执行文件,而无需指定完整路径。 我试着运行导出路径 在基本图像中,但这似乎不起作用(至少当我进入它时,我没有看到路径更新,我假设是因为导出没有转移到新的bash会话中)。 还有其他方法吗?我应该编辑吗。bashrc?

    • 我可以将其更改为正确的容器主机名-->plaintext://kafka:9092,但这样我就无法用其他应用程序再次访问kafka实例了。有什么简单的方法可以解决这个问题吗?

    • 问题内容: 简而言之 :如何在Mac OS X上为Docker设置HTTP / HTTPS代理? 详细说明 : 我在代理后面的Mac OS X上运行Docker(1.12)。我按照安装说明进行操作,并安装了boot2docker。如果我从网络内部Docker注册表中提取信息,则此方法工作正常。 但是,从docker.io拉出时出现以下错误: 注1 :,并在环境中可用(运行显示全部三个)。 注2 :

    • 问题内容: 我想使用Dockerizing MongoDB并将数据存储在本地卷中。 但是..失败了… 它具有mongo:latest图像 我想将单声道数据存储在〜/ data中。所以- 但是…行不通… docker ps-没有守护进程mongo 尝试运行“ mongo”-失败 码头工人检查蒙哥 如果我不设置数据量,mongo image就可以工作! 但是,当设置数据量时,它不是…谁可以帮助我? 问