标签:容器相关的结果89条:

    Docker实践(20) – 数据容器

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

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

    Docker实践(23) – 找出容器IP

      虽然Docker命令让你能够访问有关镜像和容器的信息,但有时你想要了解这些Docker对象的内部元数据,如IP地址。问题你想找出容器IP地址。解决方法使用dockerinspect命令获取和过滤容器元数据。讨论通过dockerinspect命令能得到JSON格式的docker内部元数据。这会得到很多数据,所以下面只列出一部分。镜像的原始数据:$dockerinspectubuntu|head[{ …

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

    Docker实践(28) – 直接运行容器内的命令

      在docker早期,许多用户添加SSHserver到它们的镜像里,以便他们能通过外部的shell来访问容器。这样做的话相当于把容器当作虚拟机用了,添加了一个进程无疑增加了系统的开销。于是Docker引入了exec命令,提供了不需要安装sshserver直接在容器内执行命令的方法。下面我们介绍这个命令。问题你想在一个运行的容器内执行命令。解决方法使用dockerexec命令。讨论为了演示exec命令…

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

    Docker用户指南(3) – 理解镜像,容器和存储驱动

      Docker用户指南(3) – 理解镜像,容器和存储驱动为了更有效地使用存储驱动,你必须理解Docker是如何构建和存储镜像的。然后,你需要对镜像是如何被容器使用作个了解。最后,你需要一段关于镜像和容器共同使用的技术的简洁的介绍。镜像和数据层每个Docker镜像引用一个或多个代表文件系统差异的只读数据层。数据层彼此堆叠来组成容器的根文件系统。下面的图表表示Ubuntu15.04镜像由4个堆叠的数据层组成。Docker存储驱动负责堆叠这些数据层和提供一个…

    发布于:2019-11-20 05:00:15

    Docker用户指南(10) – Docker容器网络

      Docker用户指南(10) – Docker容器网络本文对Docker提供的几个默认网络的行为做个简单介绍。描述默认创建的网络类型,以及如何创建自己的用户定义的网络。同时说明在单台主机或跨主机集群创建网络所需的资源。默认网络当你安装Docker后,它自动创建了三个网络。你可以使用dockernetworkls命令来列出这些网络。$dockernetworkls NETWORKID     NAME        DRIVER7fca4eb8c647…

    发布于:2019-11-20 02:57:53

    Docker用户指南(14) – 默认bridge网络 – 旧的容器链接

      本文介绍安装docker时自动创建的docker默认bridge网络内的旧的容器链接(links)。–link标志是docker废弃的旧功能。它可能会最终被删除。除非你真的需要继续使用它,否则我们推荐你使用用户定义网络来连通两个容器之间的网络,而不是使用–link。用户定义网络有一个功能不支持而可以使用–link来启用的是容器之间环境变量的共享。不过你可以使用其它的机制如volumes来以更可控的…

    发布于:2019-11-20 02:02:11

    Docker用户指南(15) – 默认bridge网络 – 绑定容器端口到主机

      本文介绍如何在docker默认bridge网络绑定容器端口。这个bridge网络名称为bridge,是安装docker时自动创建的。默认下docker容器能连接到外部网络,但外部网络无法连接到容器。由于docker服务器启动时在主机创建的iptables伪装(masquerading)规则,所以容器的每个出站连接显示的来源IP地址是主机自己的IP地址:$sudoiptables-tnat-L-n …

    发布于:2019-11-20 01:50:12

    Docker用户指南(16) – 默认bridge网络 – 理解容器通信

      本文解析在docker默认bridge内容器的通信。这个bridge网络是你安装docker时自动创建的,名称为bridge。与外部网络通信容器是否能与外部网络通信取决于两个因素。第一个因素是主机是否转发IP数据包。第二个因素是主机的iptables是否允许这个连接。ip数据包是否转发由ip_forward系统参数决定。数据包只能在参数为1的情况下才能转发。通常情况你会使docker默认设置–ip…

    发布于:2019-11-20 01:36:39

    Docker管理指南(2) – 自动启动容器

      docker1.2版本,docker机制内置了当容器退出时重启它们的重启策略。如果设置了,重启策略会在dockerdaemon启动时使用,如经典场景系统启动时。同时重启策略会确保链接容器以正确的顺序启动。如果重启策略没有满足你的需求(如你可能有非docker进程依赖docker容器),你可以使用进程管理器,如upstart,systemd或supervisor。使用进程管理器docker默认不会设…

    发布于:2019-11-20 01:17:34

    Docker管理指南(3) – 限制容器资源使用

      默认一个容器没有资源限制,能使用与主机内核调度器允许的给定资源一样多的资源。Docker提供了一个控制一个容器能使用多个内存,CPU或块IO的方法,就是在dockerrun命令设置运行时的配置参数。本文详细介绍你什么时候应该设置这些限制和设置它们时可能存在的影响。内存Docker可以设置内存硬限制,只允许使用不超过用户或系统内存给定的内存数量,或者软限制,允许容器使用它所需的尽可能多的内存,除非是…

    发布于:2019-11-20 01:06:29

    Docker管理指南(4) – daemon停止时保持容器继续运行

      默认下,当dockerdaemon停止时,随即停止正在运行的容器。从DockerEngine1.12开始,你可以配置daemon如果daemon变为不可用时容器保持继续运行。这个减少由于daemon崩溃,计划中断或升级导致的容器停机时间。启用live-restore选项有两种方式来启用live-restore设置来保持容器当daemon变为不可用时继续运行:如果daemon已经运行且你不想停止它,…

    发布于:2019-11-20 00:49:29

    Dockerfile参考(8) – CMD设置运行容器时执行的命令

      CMD指令有三种形式:CMD[“executable”,”param1″,”param2″][exec形式,这是首选形式]CMD[“param1″,”param2”][作为ENTRYPIOINT的默认参数]CMDcommandparam1param2[shell形式]Dockerfile只能使用一个CMD指令。如果你使用了多个CMD那么Docker仅使用最后一个。CMD的主要作用是为执行容器提供默…

    发布于:2019-11-19 22:47:18

    Dockerfile参考(12) – ENTRYPOINT配置创建容器后执行的容器命令

      ENTRYPOINT有两种形式:ENTRYPOINT[“executable”,“param1”,“param2”][exec形式,首选]ENTRYPOINTcommandparam1param2[shell形式]ENTRYPOINT指令用来配置创建容器时执行的容器命令。例如,下面的示例将以默认页启动nginx,在80端口监听:dockerrun-i-t--rm-p80:80nginxdocker…

    发布于:2019-11-19 21:45:04

    Dockerfile参考(13) – VOLUME创建数据卷和USER指定容器内运行命令的用户

      VOLUMEVOLUME["/data"]VOLUME指令创建一个指定名称的挂载点,并设置此挂载点为本地主机或其它容器的外部挂载数据卷。VOLUME的值可以是一个JSON数组,如VOLUME[“/var/log/”],或者多个参数的纯字符串,如VOLUME/var/log或VOLUME/var/log/var/db。dockerrun把在base镜像内指定路径已存在的数据复制到这个新创建的数据卷。…

    发布于:2019-11-19 21:41:40

    Dockerfile参考(17) – HEALTHCHECK检查容器是否正常工作

      HEALTHCHECK指令有两种形式:HEALTHCHECK[OPTIONS]CMDcommand[通过在容器内运行一个命令来检查容器健康情况]HEALTHCHECKNONE[禁用从base镜像继承的任何healthcheck]HEALTHCHECK指令告诉Docker如何测试一个容器来检查它是否工作正常。这个可以用来检测如webserver陷入了死循环且已经无法处理新的连接了,即使server进…

    发布于:2019-11-19 20:32:33

    Docker run参考(3) – 容器标识

      Name(–name)此参数有三种方式识别一个容器:标识类型示例值UUIDlongidentifier“f78375b1c487e03c9438c729345e54db9d20cfa2ac1fc3494b6eb60872e74778”UUIDshortidentifier“f78375b1c487”Name“evil_ptolemy”UUID标识符来自dockerdaemon。如果不使用–name…

    发布于:2019-11-19 19:11:29