Docker基本概念(三)-容器

容器与镜像差别:容器(container)的定义和镜像(image)几乎一模一样,也是一堆层的统一视角,唯一区别在于容器的最上面那一层是可读可写的。容器 = 镜像 + 可读写层

通俗的解释:

容器就是一个存放东西的地方,如同快递车里的包裹可能包装了香水,零食,猫粮,书本等但不会轻易相互干扰。我们现在所说的容器存放的东西可能更偏向于应用比如网站、程序甚至是系统环境。一个镜像可以启动多个都是活动且彼此相互隔离的容器。

Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。

安全性设置

1.定期渗透测试,安全审计;

2.尽量采用image的正规镜像来源,相对于传统安全,容器安全受质疑很大程度上是在于镜像的维护及升级,因此在镜像源头保证安全和及时更新;

3.及时升级容器服务,比如采用rollingupdate的方式对跑服务的容器进行升级等方式。

迁移步骤

步骤1:分解

应用程序一般有很多的组件会很复杂。如大多数应用程序都需要数据库或中间件服务的支持以实现对数据的存储、检索和集成。所以,需要通过设计和部署把这些服务拆分成为它们自己的容器。如果一个应用程序能够被拆分成为越多的分布式组件,那么应用程序扩展的选择则越多。但是,分布式组件越多也意味着管理的复杂性越高。

步骤2:选择一个基础映像

应用程序迁移时应避免推倒重来的做法。搜索Docker注册库找到一个基本的Docker映像并将其作为应用程序的基础来使用,Docker注册库中基本映像的价值随时间而展现。

步骤3:解决安全性和管理问题

安全性和管理应当是一个高优先级的考虑因素;企业用户不应再把它们当作应用程序迁移至容器的最后一步。反之,企业必须从一开始就做好安全性和管理的规划,把它们的功能纳入应用程序的开发过程中,并在应用程序运行过程中积极主动地关注这些方面。这就是企业应当花大功夫的地方。

步骤4:增加代码

为了创建映像,企业用户需要使用一个Dockerfile来定义映像开发的必要步骤。一旦创建了映像,企业用户就应将其添加至Docker Hub。

步骤5:配置、测试、部署

应对在容器中运行的应用程序进行配置,以便于让应用程序知道可以在哪里连接外部资源或者应用程序集群中的其他容器。企业用户可以把这些配置部署在容器中或使用环境变量。

最后,把容器部署到实际生产环境中。为了积极主动地关注基于容器的应用程序的运行状况,可考虑实施必要的监控和管理机制 。确保打开日志记录功能。 [2]

特性

容器技术间都大致类似的。但Docker在一个单一的容器内捆绑了关键的应用程序组件,让其可以在不同平台和云计算之间实现便携性。所以Docker成为了需跨环境运行的应用程序的理想容器技术选择。

微服务是把应用程序分解成为专门开发的更小服务。因此Docker的存在让用微服务的应用程序得益, 这些服务使用通用的RESTAPI来进行交互。使用完全封装Docker容器的开发人员可以针对采用微服务的应用程序开发出一个更为高效的分发模式。 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Docker容器概述 1、docker中的容器技术演进 lxc --> libcontainer --> ru...
    任总阅读 9,335评论 0 26
  • docker常用命令原理图概览: 按照docker官网上的说法,docker的文件系统分为两层:bootfs和ro...
    燕京博士阅读 8,127评论 2 32
  • Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启...
    执笔梦一场阅读 8,699评论 2 10
  • 他说白住在黑的对岸 可中间却隔着各种深深浅浅的灰 他说站在星空的中央 满眼都闪烁着若隐若现的光芒 他说你的轮廓沾满...
    林一盈阅读 2,383评论 2 6
  • 容半生微笑着看着他,虽然在刚开始他进来的时候,容半生瞳孔微缩,但是并没有表现出不得体的地方。 方正看着一直朝自己微...
    一木书阅读 3,237评论 0 2

友情链接更多精彩内容