编者的话】有些开发者可能还是不明白Docker对自己到底有多大的用处,因此翻译Docker个人用例这篇文章中来介绍Docker在普通开发者开发过程中的用例。Docker如今赢得了许多关注,很多人觉得盛名之下其实难副,因为他们仍然搞不清Docker和普通开发者到底有什么关系。许多开发者觉得Docker离自己很远,Docker是生产环境中的工具,和自己无关。我也是花了很长时间才想清楚作为普通开发人员如何在自己的开发中使用Docker。坦率地说,我仍处在学习的过程中。这篇文章提供了一个Docker用例列表,我希望它能更好地帮助你理解Docker并引发你的思考。本文只是描述Docker在普通开发者日常的应用,并不提供完整的解决方案。在介绍用例之前,我希望你能先记住这句话:“Docker是一个便携的应用容器”。你可以不知道Docker所说的的“便携式容器”到底是什么意思,但是你必须清楚Docker在日常中能带来非常大的效率提升。当你需要在容器内运行自己的应用(当然可以是任何应用),Docker都提供了一个基础系统镜像作为运行应用时的基础系统。也就是说,只要是Linux系统上的应用都可以运行在Docker中。可以在Docker里面运行数据库吗?当然可以。可以在Docker里面运行Node.js网站服务器吗?当然可以。可以在Docker里面运行API服务器吗?当然可以。Docker并不在乎你的应用程序是什么、做什么,Docker提供了一组应用打包、传输和部署的方法,以便你能更好地在容器内运行任何应用。下面的例子我自己经常使用,当然你有更好的案例也可以分享给我。尝试新软件对开发者而言,每天会催生出的各式各样的新技术都需要尝试,然而开发者却不太可能为他们一一搭建好环境并进行测试。时间非常宝贵,正是得益于Docker,让我们有可能在一条或者几条命令内就搭建完环境。Docker有一个傻瓜化的获取软件的方法,Docker后台会自动获得环境镜像并且运行环境。并不仅仅是新技术环境搭建用得到Docker。如果你想快速在你的笔记本上运行一个MySQL数据库,或者一个Redis消息队列,那么使用Docker便可以非常容易地做到。例如Docker只需要一条命令便可以运行MySQL数据库:dockerrun-d-p3306:3306tutum/mysql。译者注:虽然使用命令也能非常快地安装MySQL数据库,但是当用到最新的技术或者非常复杂的技术时,使用Docker便会是个非常好的选择,例如Gitlab,普通用户大概需要一天的时间去搭建Gitlab平台,而Docker则只需要一条命令。进行演示现在我经常需要在周末用自己开发的成果对客户活着别人做一两个演示。搭建演示环境的过程非常麻烦。现在我发现Docker已经成为我演示这些工具的最合理的方式。同时,对于客户来说,我可以直接将Docker镜像提供给他们,而不必去做任何环境配置的工作,工作的效果也会和在他们演示中所看到的一模一样,同时不必担心他们的环境配置会导致我们的产品无法运行。避免“我机器上可以运行”无论是上一篇介绍的企业部署Docker还是本文的个人Docker用例,都提到了这个情况。因为环境配置不同,很多人在开发中也会遇到这个情况,甚至开发的软件到了测试人员的机器上便不能运行。但这都不是重点。重点是,如果我们有一个可靠的、可分发的标准开发环境,那么我们的开发将不会像现在这么痛苦。Docker便可以解决这个问题。Docker镜像并不会因为环境的变化而不能运行,也不会在不同的电脑上有不同的运行结果。可以给测试人员提交含有应用的Docker镜像,这样便不再会发生“在我机器上是可以运行的”这种事情,很大程度上减轻了开发人员测试人员互相检查机器环境设置带来的时间成本。另一个Docker可以发挥用处的地方是培训班。除了Docker容器的隔离性之外,更能体会到Docker优势的地方在于环境搭建。培训班的新手每个人都要在环境搭建上花费很多时间,但是如果在这里应用到Docker的话,那么我们只需要把标准的运行环境镜像分发下去,然后就可以开始上课了。使用Docker和使用虚拟机一样简单,但是Docker要更方便、更轻量级。同时,我们也可以告诉学员:“在培训的同时,我们还将学到当下最流行的技术——Docker”,这种双赢的结局,何乐而不为呢。学习Linux脚本当然这个原因看起来可能很奇怪,但是对不不熟悉Linux操作系统和Shell脚本的人来说,确实是一个好机会。即便本文并不是在讲Linux,Linux的重要度仍然不言而喻。如果你用的是Windows,那么我给你一个建议:从云主机提供商那儿租用一台云主机:我推荐使用CoreOS系统的云主机。虽然这样并不会让你成为专业的Linux运维,但是可以让你快速地学到Linux基础知识,爱上命令行操作,并且慢慢开始熟悉和欣赏Linux。更好地利用资源虚拟机的粒度是“虚拟出的机器”,而Docker的粒度则是“被限制的应用”,相比较而言Docker的内存占用更少,更加轻量级。对我来说这是Docker的一个优势:因为我经常在自己电脑中运行多个Docker应用,使用Docker比使用虚拟机更加简单,方便,粒度更细,也能持续地跟踪容器状态。为微服务定制如果你一直在关注科技新闻的话,那么你应该听说过“微服务(Microservices)”的概念。Docker可以很好地和微服务结合起来。从概念上来说,一个微服务便是一个提供一整套应用程序的部分功能,Docker便可以在开发、测试和部署过程中一直充当微服务的容器。甚至生产环境也可以在Docker中部署微服务。在云服务提供商之间移植大多数的云主机提供商已经全面支持Docker。对于开发人员来说,这表示你可以很方便地切换云服务提供商,当然也可以很方便地将你本地的开发环境移动到云主机上,不需要本地上配置一次运行环境、在云主机上还配置一次运行环境。全面部署Docker(DockerhereandDockerthere)作为标准运行环境可以极大地减轻应用上线时的工作量和产生BUG。

mysql rc是什么版本_docker rc版本是什么意思?相关推荐

  1. [摘录]软件版本GA,RC,alpha,beta,Build 含义

    为什么80%的码农都做不了架构师?>>>    (1)RC:(Release Candidate) Candidate是候选人的意思,用在软件上就是候选版本.Release.Cand ...

  2. 软件版本GA,RC,Demo,Build意思

    转自 http://blog.chinaunix.net/u2/64804/showart_1751869.html Alpha: 是内部测试版,一般不向外部发布,会有很多Bug.一般只有测试人员使用 ...

  3. GA,RC,Alpha,Beta,Final等软件版本名词释义

    对应上图的表格如下: 名词! 说明 Alpha α是希腊字母的第一个,表示最早的版本,内部测试版,一般不向外部发布,bug会比较多,功能也不全,一般只有测试人员使用. Beta β是希腊字母的第二个, ...

  4. 源码软件版本Release RC Beta说明

    一直以来,对于新手而言,源码软件的版本号都是个比较困扰人的问题,什么Beta.RC的,再来个RTM.RTW.让人头大了.Alpha和Beta有什么区别,RTM和RTW有什么区别?这次就给大家介绍一下这 ...

  5. keepalived启动不成功,状态一直是inactive(dead) 的解决办法以及keepalived高版本没有rc.d目录,虚拟VIP无法访问问题...

    安装配置教程我就不说了,网上很多,这里只给出我遇到的两个坑: 1 rc.d目录 ,kp在1.4版本之后rc.d要去解压之后的源码包里去找,make之后的目录里面没有了,我使用的是2.0.13最新版本, ...

  6. 你知道Alpha/Beta/RC/RTM/RTW/GA是什么版本吗?

    1.Windows及其他软件开发过程中一般都有哪些版本? • Pre-Alpha:与Alpha和Beta版本相比,此版本的功能甚至还没有完善,只是个前期非常雏形的产物,一般是内部工程版本,仅仅是用来进 ...

  7. 我和我的小伙伴都想知道的MySQL知識(1)----安裝MySQL需要知道的瞭解的版本型號

    MySQL通用安装指导 MySQL Connector / J 8.0开发人员指南 一.要安装哪个MySQL版本和发行版 准备安装MySQL时,请确定要使用的版本和发行格式(二进制或源格式). 首先, ...

  8. mysql社区版与cluster 区别_MySQL版本Enterprise/Community/Cluster等版本的区别

    MySQL分为多种版本如Community.Enterprise.Cluster和Workbench等,MySQL不同版本有什么区别?LAMPLNMP分享: MySQL版本区别 ● MySQL Com ...

  9. mysql 密码忘记了怎么办? [仅msyql8版本]

    mysql 密码忘记了怎么办? [仅msyql8版本] 视频:https://edu.csdn.net/course/detail/7912 直接上步骤: ①首先关闭mysql服务 [这个简单就不说了 ...

最新文章

  1. GRE over IPSEC ×××
  2. Docker(一):Docker核心技术预览
  3. centos mysql-5.5.20_centos 下安装mysql5.5.20出现的问题
  4. 云炬60s看世界20211125
  5. SQL语句中的select高级用法
  6. python 项目环境包的名称和版本导出和导入
  7. C. 啊对对对 (南阳理工oj—21第二次招新赛)
  8. 1004.ubuntu16.04 安装protobuf
  9. Class类和Object类及用法(二)
  10. 3-java学习笔记
  11. 筝乐音乐播放器——黑马koltin影音笔记1
  12. 链接地址中的target=”_blank”属性安全性处理
  13. android 禁止用户访问u盘_如何禁止u盘复制文件 禁止u盘复制文件方法【介绍】
  14. 在Cocos2d-x中使用CocosBuilder
  15. ae导出gif插件_有了它,AE终于可以直接导出gif动图啦!
  16. ListView分页显示数据
  17. 基于K均值聚类算法的图像分割(Matlab)
  18. 使用PHP 的 curl 爬取 青果教务系统 课表
  19. 在谷歌下面打开之后显示金山毒霸页面
  20. 使用mybatisplus进行分页查询total总为0的原因

热门文章

  1. 在Linux系统上配置Samba客户端,访问Samba远程目录
  2. 华云 服务器_华云数据携手金蝶天燕完成产品兼容互认证 提供更加安全可靠的基础服务支撑...
  3. 蓝桥杯软件类Java语言IDE(Eclipse)安装
  4. 2022-2-23 Leetcode 47.全排列 II
  5. 使用Layout Inspector工具查看布局嵌套
  6. win11笔记本外接显示器仅第二屏幕时桌面图标会乱的解决方法
  7. [游戏AI]实现掩蔽行为的策略
  8. python程序设计基础山东联盟化工集团有限公司_网络选修课答案公众号
  9. 【笔记】《软件工程导论(第6版)》-张海藩、牟永敏
  10. Memtest86+ 5.0.1系统设置