Docker在生产环境中的应用--开篇

Docker是什么?(官方定义)Docker是一个开源的引擎,可以轻松地为任何应用创建一个轻量级的、可移植的、自给自足的容器,开发者在笔记本上编译测试通过的容器,可以批量地在生产环境中部署,包括VMS(虚拟机)、bare metal、OpenStack集群和其它应用平台。

Docker通常应用到以下几种场景:

    1.web应用的自动化打包和发布;
    2.自动化测试和集成、发布;
    3.在服务型环境中部署和调整数据库或其它的后台应用;
    4.从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境;

Docker是基础设施的新成员,近些年,随着Docker技术在DevOps和基础设施领域中飞速发展,各大大小小的IT企业如Google、亚马逊、微软、IBM等,都开始注重Docker容器在生产环境中的使用,转换其应用,使之运行于容器内,以此实现面向服务架构(SOA)和微服务。毫无疑问,容器已经成为应用程序打包和基础设施自动化。目前关于Docker在生产环境中的相关资料很少,本系统教程是从本人相关项目实战中整理出来,主要结合Docker的使用场景、网络和存储驱动如何选型、资源如何限制、镜像仓库的权限控制、容器健康的监控及安全隐患、容器的集群等等场景给出的解决方案,希望能给大家一些帮助。

原文地址:https://blog.51cto.com/7069211/2369096

时间: 2024-10-07 20:18:35

Docker在生产环境中的应用--开篇的相关文章

理解Docker(6):若干企业生产环境中的容器网络方案

本系列文章将介绍 Docker的相关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 (6)若干企业生产环境中的容器网络方案 Docker 在早期只有单机上的网络解决方案,在 1.19 版本引入了原生的 overlay 网络解决方案,但是它的性能损耗较大,可能无法适应一些生产环

Docker适合生产环境了吗?

之所以称为生产环境就是因为它可以为企业创造利润.所以答案非常清晰:视情况而定. Docker.是现今最前沿的科技. 同时,它也是近10年最具挑战性的技术,原因在于它革新了软件开发.运维.系统架构.测试以及常规做法. Dokcer至今才诞生仅两年时间.你会用一个仅发展两年左右的数据库技术吗?亦或是一个操作系统?向前兼容性很差,升级会造成对先前软件的不兼容,这是Docker存在的问题,但请不要因这个事实丧失尝试的勇气. 同时,也还有一些大的碎片问题围绕在持续部署,网络及认证管理上.对于生产环境而言,

Kubernetes 在生产环境中常用架构

Kubernetes 在生产环境中常用架构 首先,我们来梳理下Kubernetes生产架构,其设计适用于绝大多数环境.如下图所示 在该架构中,我们可以将其分为四层,如下: Client层:即Kubernetes集群外部用户.客户端等: 服务访问层:即由Traefik ingress实现服务发现.负载均衡和路由规则定义等: 业务应用层:即基于Kubernetes平台构建和运行企业业务应用,如CI/CD持续集成.微服务项目.监控告警和日志管理.私有镜像仓库等服务: 基础设施层:即由Kubernete

生产环境中的PHP WEB 简单架构

使用三台虚拟机器, Ubuntu1(nginx) 192.168.226.128 Ubuntu2(php-fpm+memcached)192.168.226.132 CentOS(MySQL)192.169.226.130 PHP 框架使用CakePHP,这个是很常用的MVC 框架,基于事件的分发模型 当然需要注意的是框架代码要部署在php-fpm机器上,需要在nginx 中配置的配置如下 余下的内容: 1. CakePHP 框架代码 2. PHP 内核 3. Nginx内核 4. 数据库设计模

[virtualenv]生产环境中使用virtualenv

virtualenv 对于python开发和部署都是好工具,可以隔离多个python版本和第三方库的版本,这里作者总结了几个常用python服务怎么样结合virtual部署 原文链接 Python 中我最喜欢的东西之一就是可以使用 virtualenv 去创建隔离的环境.非常简单的就可以在不同的项目中部署不同的python类库. 有一个比较棘手的问题就是在生产环境中使用virtualenv 部署几个不同的服务有一些配置上的不同. 于是我就从我的项目中收集了几种不同的服务的不同配置方式. 可以肯定

生产环境中CentOS7部署NET Core应用程序

NET Core应用程序部署至生产环境中(CentOS7) 阅读目录 环境说明 准备你的ASP.NET Core应用程序 安装CentOS7 安装.NET Core SDK for CentOS7. 部署ASP.NET Core应用程序 配置Nginx 配置守护服务(Supervisor) 这段时间在使用Rabbit RPC重构公司的一套系统(微信相关),而最近相关检验(逻辑测试.压力测试)已经完成,接近部署至线上生产环境从而捣鼓了ASP.NET Core应用程序在CentOS上的部署方案,今天

生产环境中使用脚本实现tomcat start|status|stop|restart

一.在实际生产环境中tomcat启动是在bin目录下采用自带脚本startup.sh启动:使用shutdown.sh关闭.如下图: 再如果对于新手来讲在不知道路径情况下重启是一件头痛的事情(注意没有reload,所以重启只能shutdown.sh在startup.sh):而且这里还有一个坑等着: 什么坑呢?   如图: tomcat服务是启动成功了的.那么我想停止服务用shutdown.sh,会出现什么呢? 进程还在而且成为了僵尸进程,万恶啊?居然关不了,终极方法kill -9 进程号.试试?

生产环境中tomcat的配置

生产环境中要以daemon方式运行tomcat 通常在开发环境中,我们使用$CATALINA_HOME/bin/startup.sh来启动tomcat, 使用$CATALINA_HOME/bin/shutdown.sh来关闭tomcat. 而在生产环境中,我们要配置tomcat使其以daemon方式运行,这是因为: 以daemon运行不受终端影响,不会因为退出终端而停止运行 可以让tomcat以普通用户身份运行,可以让tomcat随linux启动而启动 如何将tomcat配置成守护进程 将tom

在生产环境中安全执行更新删除SQL脚本的技巧

今天在生产环境上解决问题,由于广发银行的管理制度是开发公司是不允许确生产环境的,所以我们只能把要更新的语句发给运营中心,由运营中心的投产人员执行,我们则在旁边看着:在他执行的时候发现了一个很有趣的技巧,现在分享出来. 我们知道每一次在生产环境中执行中执行更新删除语句的时候都要格外小心,要做好数据备份,但是即便这样对于一个做了分库分表设计,有十几个G的库来说更新一句SQL后发现忘记写WHERE语句或是语句写错了,恢复备份的成本都是相当高的. 我注意到运营中心的人在拿到我的SQL语句后,把它放到MS