zl程序教程

您现在的位置是:首页 >  工具

当前栏目

《Docker生产环境实践指南》——1.2 从开发环境到生产环境

Docker开发 环境 指南 实践 1.2 生产
2023-09-11 14:17:34 时间
与Chef、Puppet和Ansible这类传统配置系统不同,Docker最好的使用方式是将应用程序代码预先打包成一个Docker镜像。镜像通常包含所有的应用程序代码、运行时的依赖以及系统的需求。而包含数据库凭证和其他敏感信息的配置文件通常在运行时添加,而非内建到镜像中。

本节书摘来自异步社区《Docker生产环境实践指南》一书中的第1章,第1.2节,作者: 【美】Joe Johnston(乔•约翰斯顿)著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 从开发环境到生产环境

本书着重于生产环境或非开发环境中的Docker,这意味着我们不会花太多的篇幅在开发环境中Docker的配置和运行上。但由于所有服务器都在运行代码,如何看待在Docker和非Docker系统中的应用程序代码还是值得简单讨论一下的。

与Chef、Puppet和Ansible这类传统配置系统不同,Docker最好的使用方式是将应用程序代码预先打包成一个Docker镜像。镜像通常包含所有的应用程序代码、运行时的依赖以及系统的需求。而包含数据库凭证和其他敏感信息的配置文件通常在运行时添加,而非内建到镜像中。

有些团队会在开发机上手工构建Docker镜像,然后推送到镜像仓库,之后再从仓库中拉取镜像到生产环境宿主机中。这是个很简单的用例。虽然行得通,但从工作流和安全角度考虑并不理想。

一个更常见的生产环境示例是,使用持续集成/持续交付系统在应用程序代码或Dockerfile文件发生变更时自动构建新镜像。


Docker的安装与部署Java开发环境(一) 虚拟化:虚拟化就是将各种实体资源虚拟。 镜像:一个只读的静态模板。 容器:一个运行时环境,是镜像的运行状态。 库:使用注册服务器存储和共享用户的镜像。 容器技术可以让多个独立的用户空间运行在同一台宿主机上。
Windows10系统下使用Docker搭建ClickHouse开发环境 随着现在业务开展,几个业务系统的数据量开始急剧膨胀。之前使用了关系型数据库MySQL进行了一次数据仓库的建模,发现了数据量上来后,大量的JOIN操作在提高了云MySQL的配置后依然有点吃不消,加之开发了一个基于关系型数据库设计的标签服务,日全量标签数据(无法避免的笛卡尔积)单表超过5000W。目前采取了基于用户ID分段配合多进程处理的方式暂时延缓了性能的恶化,但是还是需要做一个小型的数据平台。Hadoop的那套体系过于庞大,组件过多,硬件和软件的学习成本比较高,不是一朝一夕可以让小团队的所有成员掌握。考虑到这么多因素的前提下,需要调用ClickHouse这项黑科技,看看使用他能不能突围困局。
使用 Docker 部署 Django + MySQL 8 开发环境 前一段时间重装了系统,然后我还没有备份,导致电脑里的开发环境全都没有了。 一想到又要装 Python 环境,还要装数据库,然后安装过程中还可能报一堆错就头疼。
Docker 开发环境的滑坡谬误 最近,我构建了一个本地开发环境,将 Docker 用于一些关键的集成测试路径。当我完成这项工作时,我意识到,我在开始这项工作之前没有考虑到下面这些深远的影响: 要求开发人员的本地机器上有 Docker 和 Docker-Compose;需要做相当多的配置环境才能真正可用;我编写了 shell 脚本用于“缓解”这些配置问题,但却混淆了系统的实际工作方式;我编写的 shell 脚本最后看来也相当短视——它在某些环境下工作得很好,但是如果你在 Windows 环境下工作,就只能靠自己了;我花了大半天的时间来解决一些简单的数据库连接问题,结果发现我的数据库容器没有正确配置。 我在这项工
win10子系统利用docker搭建LNMP开发环境,配置域名访问 p #以前用子系统WSL2时搭建LNMP开发环境时,由于底层使用虚拟化技术,导致重启ip就变化,当使用虚拟域名访问多个项目时,变的非常麻烦,最近,空闲时间有些,又查了些资料,终于搞定了,那些以前的文章都是些写个脚本重置ip等,这个方法不需要,在这里记录一下,对于那些手上有好多项目的程序汪来说,真是相当于有个女朋友了,再也不用localhost:端口号来访问了 /p
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。