搭建本地 Registry – 每天5分钟玩转 Docker 容器技术(20)

搭建本地 Registry – 每天5分钟玩转 Docker 容器技术(20)

2个月前 (03-01)

Docker Hub 虽然非常方便,但还是有些限制,比如:        需要 internet 连接,而且下载和上传速度慢。        上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 repository,但不是免费的。        安全原因很多组织不允许将镜像放到外网。 解决方案就是搭建本地的 Registry。 Docker 已经将 Registry 开源了,同时

使用公共 Registry – 每天5分钟玩转 Docker 容器技术(19)

使用公共 Registry – 每天5分钟玩转 Docker 容器技术(19)

3个月前 (01-29)

保存和分发镜像的最直接方法就是使用 Docker Hub。 Docker Hub 是 Docker 公司维护的公共 Registry。用户可以将自己的镜像保存到 Docker Hub 免费的 repository 中。如果不希望别人访问自己的镜像,也可以购买私有 repository。 除了 Docker Hub,quay.io 是另一个公共 Registry,提供与 Docker Hub 类似的

镜像命名的最佳实践 – 每天5分钟玩转 Docker 容器技术(18)

镜像命名的最佳实践 – 每天5分钟玩转 Docker 容器技术(18)

3个月前 (01-28)

我们已经学会构建自己的镜像了。接下来的问题是如何在多个 Docker Host 上使用镜像。 这里有几种可用的方法: 用相同的 Dockerfile 在其他 host 构建镜像。 将镜像上传到公共 Registry(比如 Docker Hub),Host 直接下载使用。 搭建私有的 Registry 供本地 Host 使用。 第一种方法没什么特别的,前面已经讨论很多了。我们将讨论如何使用公共和私有

RUN vs CMD vs ENTRYPOINT – 每天5分钟玩转 Docker 容器技术(17)

RUN vs CMD vs ENTRYPOINT – 每天5分钟玩转 Docker 容器技术(17)

3个月前 (01-16)

RUN、CMD 和 ENTRYPOINT 这三个 Dockerfile 指令看上去很类似很容易混淆。本节将通过实践详细讨论它们的区别。 简单的说 (1)RUN 执行命令并创建新的镜像层RUN 经常用于安装软件包。 (2)CMD 设置容器启动后默认执行的命令及其参数但 CMD 能够被 docker run 后面跟的命令行参数替换。 (3)ENTRYPOINT 配置容器启动时运行的命令。 下面我们详细

Dockerfile 常用指令 – 每天5分钟玩转 Docker 容器技术(16)

Dockerfile 常用指令 – 每天5分钟玩转 Docker 容器技术(16)

3个月前 (01-16)

是时候系统学习 Dockerfile 了。 下面列出了 Dockerfile 中最常用的指令,完整列表和说明可参看官方文档。 FROM 指定 base 镜像。 MAINTAINER 设置镜像的作者,可以是任意字符串。 COPY 将文件从 build context 复制到镜像。 COPY 支持两种形式: (1)COPY src dest (2)COPY ["src", "dest"] 注意:src

调试 Dockerfile – 每天5分钟玩转 Docker 容器技术(15)

调试 Dockerfile – 每天5分钟玩转 Docker 容器技术(15)

3个月前 (01-16)

包括 Dockerfile 在内的任何脚本和程序都会出错。有错并不可怕,但必须有办法排查,所以本节讨论如何 debug Dockerfile。 先回顾一下通过 Dockerfile 构建镜像的过程: (1)从 base 镜像运行一个容器。 (2)执行一条指令,对容器做修改。 (3)执行类似 docker commit 的操作,生成一个新的镜像层。 (4)Docker 再基于刚刚提交的镜像运行一个新

镜像的缓存特性 – 每天5分钟玩转 Docker 容器技术(14)

镜像的缓存特性 – 每天5分钟玩转 Docker 容器技术(14)

3个月前 (01-15)

上一节我们学习了镜像的分层结构,今天讨论镜像的缓存特性。 Docker 会缓存已有镜像的镜像层,构建新镜像时,如果某镜像层已经存在,就直接使用,无需重新创建。 举例说明。 在前面的 Dockerfile 中添加一点新内容,往镜像中复制一个文件: root@ubuntu:~# ls           ① Dockerfile  testfile root@ubuntu:~# root@ubuntu

Dockerfile 构建镜像 – 每天5分钟玩转容器技术(13)

Dockerfile 构建镜像 – 每天5分钟玩转容器技术(13)

3个月前 (01-15)

Dockerfile 是一个文本文件,记录了镜像构建的所有步骤。 第一个 Dockerfile 用 Dockerfile 创建上节的 ubuntu-with-vi,其内容则为: 下面我们运行 docker build 命令构建镜像并详细分析每个细节。 root@ubuntu:~# pwd         ① /root root@ubuntu:~# ls          ② Dockerfile

构建镜像 – 每天5分钟玩转容器技术(12)

构建镜像 – 每天5分钟玩转容器技术(12)

3个月前 (01-15)

对于 Docker 用户来说,最好的情况是不需要自己创建镜像。几乎所有常用的数据库、中间件、应用软件等都有现成的 Docker 官方镜像或其他人和组织创建的镜像,我们只需要稍作配置就可以直接使用。 使用现成镜像的好处除了省去自己做镜像的工作量外,更重要的是可以利用前人的经验。特别是使用那些官方镜像,因为 Docker 的工程师知道如何更好的在容器中运行软件。 当然,某些情况下我们也不得不自己构建镜

镜像的分层结构 – 每天5分钟玩转容器技术(11)

镜像的分层结构 – 每天5分钟玩转容器技术(11)

3个月前 (01-14)

Docker 支持通过扩展现有镜像,创建新的镜像。 实际上,Docker Hub 中 99% 的镜像都是通过在 base 镜像中安装和配置需要的软件构建出来的。比如我们现在构建一个新的镜像,Dockerfile 如下: ① 新镜像不再是从 scratch 开始,而是直接在 Debian base 镜像上构建。 ② 安装 emacs 编辑器。 ③ 安装 apache2。、 ④ 容器启动时运行 bas

base 镜像 – 每天5分钟玩转容器技术(10)

base 镜像 – 每天5分钟玩转容器技术(10)

3个月前 (01-11)

上一节我们介绍了最小的 Docker 镜像本节讨论 base 镜像。 base 镜像有两层含义 1、不依赖其他镜像从 scratch 构建。 2、其他镜像可以之为基础进行扩展。 所以能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像比如 Ubuntu, Debian, CentOS 等。 我们以 CentOS 为例考察 base 镜像包含哪些内容。 下载镜像 docke

最小的镜像 – 每天5分钟玩转容器技术(9)

最小的镜像 – 每天5分钟玩转容器技术(9)

3个月前 (01-11)

镜像是 Docker 容器的基石,容器是镜像的运行实例,有了镜像才能启动容器。 本章内容安排如下: 首先通过研究几个典型的镜像,分析镜像的内部结构。 然后学习如何构建自己的镜像。 最后介绍怎样管理和分发镜像。 镜像的内部结构 为什么我们要讨论镜像的内部结构? 如果只是使用镜像,当然不需要了解,直接通过 docker 命令下载和运行就可以了。 但如果我们想创建自己的镜像,或者想理解 Docker 为

Docker 组件如何协作?- 每天5分钟玩转容器技术(8)

Docker 组件如何协作?- 每天5分钟玩转容器技术(8)

4个月前 (12-28)

还记得我们运行的第一个容器吗?现在通过它来体会一下 Docker 各个组件是如何协作的。 容器启动过程如下: Docker 客户端执行 docker run 命令。 Docker daemon 发现本地没有 httpd 镜像。 daemon 从 Docker Hub 下载镜像。 下载完成,镜像 httpd 被保存到本地。 Docker daemon 启动容器。 docker images 可以查看

Docker 架构详解 – 每天5分钟玩转容器技术(7)

Docker 架构详解 – 每天5分钟玩转容器技术(7)

4个月前 (12-25)

Docker 的核心组件包括: Docker 客户端 - Client Docker 服务器 - Docker daemon Docker 镜像 - Image Registry Docker 容器 - Container Docker 架构如下图所示: Docker 采用的是 Client/Server 架构。客户端向服务器发送请求,服务器负责构建、运行和分发容器。客户端和服务器可以运行在同一个

容器 What, Why, How – 每天5分钟玩转容器技术(6)

容器 What, Why, How – 每天5分钟玩转容器技术(6)

4个月前 (12-20)

学习任何东西都可以按照3W的框架进行,容器技术也是一样,先回答 What、Why 和 How 这三个问题。 What - 什么是容器? 容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。 容器与虚拟机 谈到容器,就不得不将它与虚拟机进行对比,因为

运行第一个容器 – 每天5分钟玩转容器技术(4)

运行第一个容器 – 每天5分钟玩转容器技术(4)

4个月前 (12-20)

为了让大家对容器有个感性认识,我们将尽快让一个容器运行起来。 首先我们需要搭建实验环境。 环境选择 容器需要管理工具、runtime 和操作系统,我们的选择如下: 管理工具 - Docker Engine 因为 Docker 最流行使用最广泛。 runtime - runc Docker 的默认 runtime 操作系统 - Ubuntu 虽然存在诸如 CoreOS 的容器 OS,因考虑到我们目前

容器生态系统 (续) – 每天5分钟玩转容器技术(3)

容器生态系统 (续) – 每天5分钟玩转容器技术(3)

4个月前 (12-19)

容器生态系统包含核心技术、平台技术和支持技术三个方面。上一节我们讨论了核心技术,今天讨论另外两个部分。 容器平台技术 容器核心技术使得容器能够在单个 host 上运行。而容器平台技术能够让容器作为集群在分布式环境中运行。 容器平台技术包括容器编排引擎、容器管理平台和基于容器的 PaaS。 容器编排引擎 基于容器的应用一般会采用微服务架构。在这种架构下,应用被划分为不同的组件,并以服务的形式运行在各

容器生态系统 – 每天5分钟玩转容器技术(2)

容器生态系统 – 每天5分钟玩转容器技术(2)

4个月前 (12-19)

对于像容器这类平台级别的技术,通常涉及的知识范围会很广,相关的软件,解决方案也会很多,初学者往往容易迷失。 那怎么办呢? 我们可以从生活经验中寻找答案。 当我们去陌生城市旅游想了解一下这个城市一般我们会怎么做? 我想大部分人应该会打开手机看一下这个城市的地图: 城市大概的位置和地理形状是什么? 都由哪几个区或县组成? 主要的交通干道是哪几条? 同样的道理,学习容器技术我们可以先从天上鸟瞰一下: 容

写在最前面 – 每天5分钟玩转容器技术(1)

写在最前面 – 每天5分钟玩转容器技术(1)

4个月前 (12-18)

《每天5分钟玩转容器技术》是一个有关容器技术的教程,有下面两个特点: 系统讲解当前最流行的容器技术。 从容器的整个生态环境到各个具体的技术,从整体到细节逐一讨论。 重实践并兼顾理论。 从实际操作的角度带领大家学习容器技术。 为什么要写这个? 简单回答是:容器技术非常热门,但门槛高。 容器技术是继大数据和云计算之后又一炙手可热的技术,而且未来相当一段时间内都会非常流行。 对 IT 行业来说,这是一项

切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

扫一扫二维码分享