保持 image 小
 
    选择合适的 base image。
 
 
    如果多个 image 有共同之处,考虑创建一个 base image 来共享组件,并在其上构建 image。
 
    保持生产 image 小并支持 debug,考虑使用生产 image 作为 base image 来 debug image。
 
    构建 image 时,总是使用 版本信息,目标环境(prod,test) 来打标签,而不要依赖自动创建的 latest 标签。
    
在哪里和如何持久化应用数据
 
    不要把数据存储在容器的可写层,相比使用 volume 和绑定mounts,增加了 container 大小且I/O低效。
 
    作为代替,使用 volumes 存储数据。
 
    使用 bind mounts 更适合在开发期间。
 
    生产中使用 secrets 来存储敏感数据,对非敏感数据使用 configs。
    
在可能的情况下使用 swarm 服务
 
    可能的情况下,使用 swarm 服务设计你的应用并具有规模化的能力。
 
    即使只需要运行一个独立的应用实例,swarm services 提供了一些高级特性,servies 配置是说明性的,docker总是让实际状态与预期的保持同步。
 
    网络和volumns 可以在 swarm services 中连接和断开,docker 使用非破坏的方式重新部署独立的服务。独立的容器需要根据配置改变手动停止删除创建。
 
    若干特性,如存储 secrets 和 configs 的能力,让 image 尽可能通用,image 和 container 不存储敏感信息。
 
    让 docker stack deploy 代替 docker pull,当新节点添加到 swarm,imags会自动被pull。
 
对测试和部署使用 CI/CD
 
    当版本控制检测到变更或pull request,使用 Docker Cloud 或其他 CI/CD 管道自动 build 和 tag image 并测试。Docker Cloud 可以部署app直接到生产环境。
 
开发环境和生产环境的不同之处
 
 
 

[Docker] 容器开发环境最佳实践理论的更多相关文章

  1. 8.云原生之Docker容器镜像构建最佳实践浅析

    转载自:https://www.bilibili.com/read/cv15220861/?from=readlist 本章目录 0x02 Docker 镜像构建最佳实践浅析 1.Dockerfile ...

  2. [Docker] 写 Dockerfile 的最佳实践理论

      指导方针   创建短暂的容器   意思是 container 可以停止和销毁,接着以最小化启动和配置进行重新构建和替换.   理解构建的上下文   使用 docker build ,当前工作环境称 ...

  3. DOCKER学习_008:Docker容器的运行最佳实践

    一 容器分类 容器按用途大致可分为两类: 服务类容器,如 web server. database等 工具类容器,如cur容器, Iredis-cli容器 通常而言,服务类容器需要长期运行,所以使用 ...

  4. Docker容器日志管理最佳实践

    目录 一 .Docker 引擎日志 二.容器日志 2.1.常用查看日志命令--docker logs 2.2 .Docker 日志 驱动 三. 生产环境中该如何储存容器中的日志 一.当是完全是标准输出 ...

  5. Docker容器的原理与实践 (下)

    欢迎访问网易云社区,了解更多网易技术产品运营经验. Docker原理分析 Docker架构 镜像原理 镜像是一个只读的容器模板,含有启动docker容器所需的文件系统结构及内容Docker以镜像和在镜 ...

  6. [转]利用Docker构建开发环境

    利用Docker构建开发环境 Posted by  makewonder on 2014 年 4 月 2 日   最近接触PAAS相关的知识,在研发过程中开始使用Docker搭建了自己完整的开发环境, ...

  7. 新IT运维时代 | Docker运维之最佳实践-下篇

    上篇针对操作系统.主机配置.容器镜像.容器运行时四大方面分享一些Docker的运维经验,本篇将着重在Docker Daemon参数和权限两个方面进一步分享.(阅读上篇请点击右侧:新IT运维时代 | D ...

  8. 利用Docker构建开发环境

    最近接触PAAS相关的知识,在研发过程中开始使用Docker搭建了自己完整的开发环境,感觉生活在PAAS时代的程序员真是幸福,本文会简要介绍下Docker是什么,如何利用Docker来搭建自己的开发环 ...

  9. 如何使用Docker构建开发环境

    我们在开发中都会遇到这样的问题:在本地开发好功能后,部署到服务器,或者其他人拉到本地接着开发时,会出现功能无法使用的情况. 这些异常情况,大多数时候是因为系统不同而导致的依赖差异.因此,为了解决这个问 ...

随机推荐

  1. 2018-2019-2 20175207 实验一《JAVA开发环境的熟悉》实验报告

    目录 使用JDK编译运行简单程序 使用IDEA对程序进行调试 实验练习 产生一个随机数,让用户猜测,猜错了告诉用户是大了还是小了. 并进行测试(正常情况,异常情况,边界情况) 实验总结 使用IDEA编 ...

  2. python 执行oracle、python脚本文件

    import os # sql脚本结尾加';'!!! os.system('sqlplus.exe scott/s123@127.0.0.1:1521/ORCL @D:/PycharmProjects ...

  3. *&p理解

    要明白这个需明白两个基础: 运算符*优先级高于&, 两个运算符都是从右向左结合运算 所以,*&a 的意思就是先运算 *,得到 指针,再通过 &,获取指针的引用 如果不理解,继续 ...

  4. (转)InnoDB与MyISAM引擎区别

    MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比 2015年06月25日 21:58:42 阅读数:1827更多 个人分类: mysql   1.MyISAM:默认表类型,它是基于传统 ...

  5. [ZZ] 边缘检测 梯度与Roberts、Prewitt、Sobel、Lapacian算子

    http://blog.csdn.net/swj110119/article/details/51777422 一.学习心得: 学习图像处理的过程中,刚开始遇到图像梯度和一些算子的概念,这两者到底是什 ...

  6. 调整Eclipse中代码字体字号

    Window-->preferences-->general-->appearence-->Colors and fonts中的Basic节点选text font,Edit一下

  7. Ubuntu16.04更新源

    首先说说为什么要更新源,我是在docker容器中修改配置文件时有所需要,要用到vim,但是会报错.找不到需要的包. 网上都会说要先更新:apt-get update 但是超级慢有没有,我更新了4小时, ...

  8. 复制虚拟机vmware centos搭建集群节点过程中网络配置eth0和eth1遇到的问题以及NAT模式下虚拟机静态IP配置方法

    在centos中安装完第一个虚拟机后,一般习惯通过克隆的方式创建其它虚拟机,开后vmware无法发现网卡信息,系统认为这是重新安装,所以重新创建了一个新的网卡叫eth1. 并且用IFCONFIG-a查 ...

  9. Centos 7 虚拟机挂载U盘

    本文记录环境为在Windows 7环境下,通过VMware安装Centos 7.2.挂载U盘过程如下,供日后查看,也供各位读者遇到类似问题时参考. 挂载过程及问题排除如下: 1.因为是虚拟机,所以先到 ...

  10. Oracle中 to_date和to_char用法

    to_date("要转换的字符串","转换的格式")   两个参数的格式必须匹配,否则会报错. 即按照第二个参数的格式解释第一个参数. to_char(日期,& ...