随笔分类 - docker技术
摘要:Docker Hub 是 Docker 公司维护的公共 Registry。用户可以将自己的镜像保存到 Docker Hub 免费的 repository 中。如果不希望别人访问自己的镜像,也可以购买私有 repository。 除了 Docker Hub,quay.io 是另一个公共 Registr
阅读全文
摘要:如何在多个 Docker Host 上使用镜像。 这里有几种可用的方法: 用相同的 Dockerfile 在其他 host 构建镜像。 将镜像上传到公共 Registry(比如 Docker Hub),Host 直接下载使用。 搭建私有的 Registry 供本地 Host 使用。 为镜像命名 实际
阅读全文
摘要:RUN、CMD 和 ENTRYPOINT 这三个 Dockerfile 指令看上去很类似,很容易混淆。本节将通过实践详细讨论它们的区别。 简单的说: RUN 执行命令并创建新的镜像层,RUN 经常用于安装软件包。 CMD 设置容器启动后默认执行的命令及其参数,但 CMD 能够被 docker run
阅读全文
摘要:下面列出了 Dockerfile 中最常用的指令,完整列表和说明可参看官方文档。FROM 指定 base 镜像。 MAINTAINER设置镜像的作者,可以是任意字符串。 COPY将文件从 build context 复制到镜像。COPY 支持两种形式: COPY src dest COPY ["sr
阅读全文
摘要:包括 Dockerfile 在内的任何脚本和程序都会出错。有错并不可怕,但必须有办法排查,所以本节讨论如何 debug Dockerfile。 先回顾一下通过 Dockerfile 构建镜像的过程: 从 base 镜像运行一个容器。 执行一条指令,对容器做修改。 执行类似 docker commit
阅读全文
摘要:Docker 会缓存已有镜像的镜像层,构建新镜像时,如果某镜像层已经存在,就直接使用,无需重新创建。 举例说明。在前面的 Dockerfile 中添加一点新内容,往镜像中复制一个文件: root@ubuntu:~# ls ① Dockerfile testfile root@ubuntu:~# ro
阅读全文
摘要:用 Dockerfile 创建上节的 ubuntu-with-vi,其内容则为: 下面我们运行 docker build 命令构建镜像并详细分析每个细节。 root@ubuntu:~# pwd ① /root root@ubuntu:~# ls ② Dockerfile root@ubuntu:~#
阅读全文
摘要:Docker 提供了两种构建镜像的方法: 1. docker commit 命令 2. Dockerfile 构建文件 1. 运行容器 2. 修改容器 3. 将容器保存为新的镜像 举个例子:在 ubuntu base 镜像中安装 vi 并保存为新镜像。 1. 第一步, 运行容器 -it 参数的作用是
阅读全文
摘要:Docker 支持通过扩展现有镜像,创建新的镜像。 实际上,Docker Hub 中 99% 的镜像都是通过在 base 镜像中安装和配置需要的软件构建出来的。比如我们现在构建一个新的镜像,Dockerfile 如下: ① 新镜像不再是从 scratch 开始,而是直接在 Debian base 镜
阅读全文
摘要:base 镜像有两层含义: 不依赖其他镜像,从 scratch 构建。 其他镜像可以之为基础进行扩展。 所以,能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ubuntu, Debian, CentOS 等。 下载镜像: docker pull centos 镜
阅读全文
摘要:镜像是 Docker 容器的基石,容器是镜像的运行实例,有了镜像才能启动容器。 hello-world 是 Docker 官方提供的一个镜像,通常用来验证 Docker 是否安装成功。 我们先通过 docker pull 从 Docker Hub 下载它。 用 docker images 命令查看镜
阅读全文
摘要:容器启动过程如下: Docker 客户端执行 docker run 命令。 Docker daemon 发现本地没有 httpd 镜像。 daemon 从 Docker Hub 下载镜像。 下载完成,镜像 httpd 被保存到本地。 Docker daemon 启动容器。 docker images
阅读全文
摘要:Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 - Container Docker 架构如下图所示: Docker 采用的是 Client/Ser
阅读全文
摘要:What - 什么是容器? 容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。 容器与虚拟机 谈到容器,就不得不将它与虚拟机进行对比,因为两者都是
阅读全文
摘要:环境选择 容器需要管理工具、runtime 和操作系统,我们的选择如下: 1、管理工具 - Docker Engine因为 Docker 最流行使用最广泛。 2、runtime - runc Docker 的默认 runtime 3、操作系统 - Ubuntu虽然存在诸如 CoreOS 的容器 OS
阅读全文
摘要:鸟瞰容器生态系统 容器生态系统包含核心技术、平台技术和支持技术。 容器核心技术是指能够让 container 在 host 上运行起来的那些技术。 容器平台技术能够让容器作为集群在分布式环境中运行。 容器支持技术用于支持基于容器的基础设施。 容器编排引擎 基于容器的应用一般会采用微服务架构。在这种架
阅读全文
摘要:如今Docker的使用已经非常普遍,特别在一线互联网公司。使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力。在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如今在微服务架构越来越流行的情况下,微服务+Docker的完美组合,更加方便微服务架构运维部署落地。
阅读全文

浙公网安备 33010602011771号