标签:Docker相关的结果440条:

    Docker实践(7) – 设置本地私有库registry

      你看到了Docker官方有一个服务,人们可以公开分享他们的镜像(你可以付费设置为私有)。不过有些理由使你不想通过Hub分享镜像–一些企业喜欢把服务尽可能的留在内部,或者可能是你的镜像太大了,通过互联网传输会太慢,或者可能你只是在做试验想暂时保持私有,或者不想付费购买私有权限。不管是什么样的原因,有一个简单的解决方案。问题你想要一个本地托管你的镜像的方法。方法在你本地网络设置一个registry服务…

    发布于:2019-11-20 22:55:14

    Docker实践(8) – 搜索和运行一个Docker镜像

      Docker实践(8) – 搜索和运行一个Docker镜像Dockerregistries启用了类似于GitHub的社交编程文化。如果你有兴趣尝试一个新的软件应用,或者搜索一个新的软件用于特定目的。那么Docker镜像可以是一个简单的试验方式,而不会干扰你的主机,调配VM或者担心安装步骤。问题你想找到以Docker镜像形式的应用或工具,并尝试使用它。方法使用dockersearch命令来找到镜像来拉取并运行它。讨论我们假设你有兴趣尝试Node.js。在下…

    发布于:2019-11-20 22:47:38

    Docker实践(9) – 虚拟机转换为容器

      Docker实践(9) – 虚拟机转换为容器DockerHub没有所有可能的基本镜像,所以对于一些小众的Linux发行版本和用例,人们需要自己来创建它。如果你想把一个存在状态的虚拟机放入Docker上层迭代,或者受益于Docker生态系统,同样的原则也适用。理想情况下,你希望使用标准的Docker技术从头开始构建一个等效的VM,例如Dockerfiles与标准配置管理工具。然而现实是,许多VM没有仔细配置管理。这个有可能发生,因为一个VM已…

    发布于:2019-11-20 22:19:26

    Docker实践(10) – 类主机容器

      Docker实践(10) – 类主机容器我们现在把讨论转到Docker社区最具争议性的领域之一–运行一个包含多个进程的类主机镜像。这个在Docker社区中部分人认为是一种不好的形式。容器不是虚拟机–它们有显著的差异–假装不会造成混乱和没有问题。不管是好还是坏,本文展示如何运行一个类主机镜像,讨论这其中的一些问题。运行一个类主机镜像是一个说服Docker反对者的好方法,Docker很有用。当他们更多地使用Docker,他们会更理解Dock…

    发布于:2019-11-20 22:16:23

    Docker实践(11) – 将系统拆分为微服务容器

      我们已经探讨了如何作为一个整体使用容器(像一个经典的服务器),并解释它可以是一个快速移动系统架构到Docker的好方法。不过在Docker世界中,通常认为最好的做法是尽可能多地分割系统,直到每个容器只运行一个服务,然后通过links连接所有容器。因为这是推荐的Docker方法,你会发现DockerHub中的大多数容器都是这种方法,理解如何以这种方式构建镜像对于与Docker生态系统进行交互非常重要…

    发布于:2019-11-20 21:52:07

    Docker实践(12) – 管理容器服务启动

      Docker实践(12) – 管理容器服务启动当尝试Docker作为VM的替代品在容器内运行多个服务可能会比较方便,或者完成VM到容器的初始转换后,运行重要服务是有必要的。不管是什么原因,当想尝试管理容器内的进程时尽量避免重复造轮子。问题你想管理容器内的多个进程。解决方法使用Supervisor应用(http://supervisord.org/)来管理你的进程启动。讨论我们准备演示如何创建一个包含Tomcat和Apacheweb服务器的容器…

    发布于:2019-11-20 21:18:16

    Docker实践(13) – 保存开发环境状态

      如果你曾经开发过软件,你可能至少一次地像这样呼叫过,”奇怪了,之前明明正常的!”不过没办法快速地恢复到之前的正常状态,你只能匆忙地去修改代码以尽快完成任务而不至于延期。这就浪费了许多时间。版本控制软件已经能帮助你快速恢复到指定的正常版本,不过但下面的两个特殊情况会存在问题:代码无法体现你工作环境系统的状态你可能还不愿意提交代码第一个问题比第二个值得关注。虽然像Git这样的现代源代码控制工具可以轻松…

    发布于:2019-11-20 21:11:58

    Docker实践(14) – Docker tag

      上一篇文章中你通过dockercommit保存了容器的状态,并且得到一个随机的镜像ID。记住和管理巨大数量的镜像ID非常困难。使用Docker的tag功能可以给镜像设置一个可读的名称,提醒你镜像创建的目的是什么。掌握这个技术使你对镜像的用途一目了然,使得管理你机器上的镜像变得非常容易。问题你想方便地引用和存储一个Dockercommit。解决方法使用dockertag命名你的提交。讨论tag的基本…

    发布于:2019-11-20 20:58:52

    Docker实践(15) – 通过Docker Hub分享镜像

      如果你与其他人共享你的镜像,使用描述性名称tag镜像会更有帮助。为了满足这个需求,Docker能够轻松地将镜像移动到其它地方,DockerInc则创建了免费的DockerHub服务来鼓励这种共享。为了使用DockerHub服务,你需要注册一个DockerHub帐号来使用dockerlogin登录。注册地址为http://hub.docker.com。问题你想公开分享一个Docker镜像。解决方法使…

    发布于:2019-11-20 20:32:37

    Docker实践(16) – 引用特定镜像构建镜像

      在你构建镜像大多数时候会引用镜像名称,如“node”或”ubuntu”,这个没有任何问题。如果你引用镜像名称,它有可能tag名称保持一样而镜像被更改了。看起来这自相矛盾,不过它真实发生了!repository名称仅仅是个引用,它有可能被更改指向一个不同的镜像。指定一个带冒号的tag名称也不会消除这种风险,因为安全更新会使用相同的tag来自动重新构建有漏洞的镜像。大多数时候你会想让它这样做–镜像维护…

    发布于:2019-11-20 19:18:14

    Docker实践(17) – 容器挂载主机目录

      Docker实践(17) – 容器挂载主机目录容器最强大的功能是它在迁移时能保持系统环境一致性。不过有时候你不想把所有的文件放进容器中。你可能想在容器之间共享一些大的文件,或者单独管理这些文件。典型的例子是你希望容器访问大型集中式数据库,但是还希望其它客户端也能与容器一起访问。解决方法是volumes,在容器生命周期外管理文件的Docker机制。虽然这违背了容器“部署在任何地方”的理念(例如,你将无法在没有挂载数据库的系统中部署容器),不过有…

    发布于:2019-11-20 19:11:00

    Docker实践(18) – 使用BitTorrent Sync分发volumes

      Docker实践(18) – 使用BitTorrent Sync分发volumes在团队中试用Docker时,你可能希望能够在团队成员之间共享大量数据,不过你可能没有足够的空间来搭建一台共享服务器。最简单的方法是当你需要时再从其它团队成员复制最新的文件–不过在一个更大的团队中这个方法就不太可行了。解决方案是使用BitTorrentSync工具来共享文件–不需要专门的资源。问题你想通过internet在主机之间共享volumes。解决方法使用BitTorrentSync镜像来共享…

    发布于:2019-11-20 18:04:12

    Docker实践(19) – 保留容器的bash历史记录

      我们知道在容器内做试验完成时,容器可以设置自动清除,这就省了好多事。不过仍然有一些不方便的地方。其中一个是我们可能需要在容器中多次执行一个相同的命令,而bash历史又没有了,只能手打。问题你想与容器共享你的主机bash历史记录。解决方法为dockerrun命令设置一个别名来与主机共享bash历史记录。讨论要理解这个问题,我们来展示一个场景。假设你在Docker容器做试验,比如做一些有趣的和可重复使…

    发布于:2019-11-20 17:38:37

    Docker实践(20) – 数据容器

      Docker实践(20) – 数据容器如果你在主机上使用很多volumes,管理容器的启动可能会变得棘手。你可能希望数据只由容器管理,不管在主机上能直接访问数据。一种简单的方法是使用data-only容器。问题你想在容器内部访问外部volume,不过你希望这些volume只能由docker访问。解决方法设置一个数据容器并在其它容器运行时使用–volumes-from参数连接此数据容器。讨论下图展示了数据容器模式的结构,并解释了它的工作…

    发布于:2019-11-20 15:50:21

    Docker实践(21) – 使用sshfs挂载远程volume

      Docker实践(21) – 使用sshfs挂载远程volume我们已经讨论过如何挂载本地文件,不过很快我们就会遇到如何挂载远程文件系统的问题了。例如可能你想共享远程服务器上的数据库并把它当作本地数据库使用。虽然理论上可以设置一个NFS服务器并通过在你服务器挂载目录访问远程文件,不过有一种对于大多数用户快速简单的方法,此方法不需要在服务器端安装任何软件(只需要SSH)。设置sshfs需要root权限,并且需要安装FUSE(Linux的“用户空间文件系统”内核模…

    发布于:2019-11-20 15:32:20

    Docker实践(22) – 通过NFS共享数据

      Docker实践(22) – 通过NFS共享数据在部分公司已经在使用NFS共享文件了。如果应用部署在docker容器里,如果能访问这些共享的文件呢?docker不支持NFS开箱即用,而在每个容器中安装NFS客户端以便能挂载远程目录不是一个好方法。建议的方法是使用一个docker容器充当其它容器访问NFS共享数据的代理。问题你想无缝访问NFS的远程文件系统解决方法使用数据容器代理访问讨论数据容器的相对介绍请参考https://www.centos…

    发布于:2019-11-20 15:23:49