限制容器对内存的使用 - 每天5分钟玩转 Docker 容器技术(27)
<p>一个 docker host 上会运行若干容器,每个容器都需要 CPU、内存和 IO 资源。对于 KVM,VMware 等虚拟化技术,用户可以控制分配多少 CPU、内存资源给每个虚拟机。对于容器,Docker 也提供了类似的机制避免某个容器因占用太多资源而影响其他容器乃至整个 host 的性能。</p> <h4>内存限额 {#-}<...
51工具盒子
<p>一个 docker host 上会运行若干容器,每个容器都需要 CPU、内存和 IO 资源。对于 KVM,VMware 等虚拟化技术,用户可以控制分配多少 CPU、内存资源给每个虚拟机。对于容器,Docker 也提供了类似的机制避免某个容器因占用太多资源而影响其他容器乃至整个 host 的性能。</p> <h4>内存限额 {#-}<...
<p>前面我们已经讨论了容器的各种操作,对容器的生命周期有了大致的理解,下面这张状态机很好地总结了容器各种状态之间是如何转换的。</p> <p><img src="http://static.51tbox.com/static/2024-12-22/col/8d1c69bb918aa362066afddc7191c294/8c...
<p>前面讨论了如何运行容器,本节学习容器的其他常用操作。</p> <h3>stop/start/restart 容器</h3> <p>通过 docker stop 可以停止运行的容器。</p> <p><img src="http://static.51tbox.com/stat...
<p>按用途容器大致可分为两类:服务类容器和工具类的容器。</p> <p>1、服务类容器以 daemon 的形式运行,对外提供服务。比如 web server,数据库等。通过 -d 以后台方式启动这类容器是非常合适的。如果要排查问题,可以通过 exec -it 进入容器。</p> <p>2、工具类容器通常给能我们提供一...
<p>我们经常需要进到容器里去做一些工作,比如查看日志、调试、启动其他进程等。有两种方法进入容器:attach 和 exec。</p> <h5>docker attach</h5> <p>通过 docker attach 可以 attach 到容器启动命令的终端,例如:</p> <p><i...
<p>上一章我们学习了如何构建 Docker 镜像,并通过镜像运行容器。本章将深入讨论容器:学习容器的各种操作,容器各种状态之间如何转换,以及实现容器的底层技术。</p> <h3>运行容器 {#-}</h3> <p>docker run 是启动容器的方法。在讨论 Dockerfile 时我们已经学习到,可用三种方式指定...
<p>本节我们对 Docker 镜像做个小结。</p> <p>这一部分我们首先讨论了镜像的分层结构,然后学习了如何构建镜像,最后实践使用 Docker Hub 和本地 registry。</p> <p><strong>下面是镜像的常用操作子命令:</strong></p> <p...
<p>Docker Hub 虽然非常方便,但还是有些限制,比如:</p> <p><strong>需要 internet 连接,而且下载和上传速度慢。</strong></p> <p><strong>上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 reposito...
<p>保存和分发镜像的最直接方法就是使用 Docker Hub。</p> <p>Docker Hub 是 Docker 公司维护的公共 Registry。用户可以将自己的镜像保存到 Docker Hub 免费的 repository 中。如果不希望别人访问自己的镜像,也可以购买私有 repository。</p> <p>...
<p>我们已经学会构建自己的镜像了。接下来的问题是如何在多个 Docker Host 上使用镜像。</p> <p>这里有几种可用的方法:</p> <p>用相同的 Dockerfile 在其他 host 构建镜像。</p> <p>将镜像上传到公共 Registry(比如 Docker Hub),H...