
运行容器的最佳实践 - 每天5分钟玩转 Docker 容器技术(24)
<p>按用途容器大致可分为两类:服务类容器和工具类的容器。</p> <p>1、服务类容器以 daemon 的形式运行,对外提供服务。比如 web server,数据库等。通过 -d 以后台方式启动这类容器是非常合适的。如果要排查问题,可以通过 exec -it 进入容器。</p> <p>2、工具类容器通常给能我们提供一...
<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...
<p>RUN、CMD 和 ENTRYPOINT 这三个 Dockerfile 指令看上去很类似很容易混淆。本节将通过实践详细讨论它们的区别。</p> <p>简单的说</p> <p>(1)RUN 执行命令并创建新的镜像层RUN 经常用于安装软件包。</p> <p>(2)CMD 设置容器启动后默认执...
<p>是时候系统学习 Dockerfile 了。</p> <p>下面列出了 Dockerfile 中最常用的指令,完整列表和说明可参看官方文档。</p> <p><strong>FROM</strong></p> <p>指定 base 镜像。</p> <p...
<p>包括 Dockerfile 在内的任何脚本和程序都会出错。有错并不可怕,但必须有办法排查,所以本节讨论如何 debug Dockerfile。</p> <p>先回顾一下通过 Dockerfile 构建镜像的过程:</p> <p><strong>(1)从 base 镜像运行一个容器。</stron...