摘要:
保存和分发镜像的最直接方法就是使用 Docker Hub。https://hub.docker.com/ Docker Hub 是 Docker 公司维护的公共 Registry。用户可以将自己的镜像保存到 Docker Hub 免费的 repository 中。如果不希望别人访问自己的镜像,也可以 阅读全文
摘要:
为镜像命名 创建镜像时 docker build 命令时已经为镜像取了个名字,例如: 这里的 ubuntu-with-vi 就是镜像的名字。通过 dock images 可以查看镜像的信息。 这里注意到 ubuntu-with-vi 对应的是 REPOSITORY,而且还有一个叫 latest 的 阅读全文
摘要:
RUN、CMD 和 ENTRYPOINT 这三个 Dockerfile 指令看上去很类似,很容易混淆。 简单的说: RUN 执行命令并创建新的镜像层,RUN 经常用于安装软件包。 CMD 设置容器启动后默认执行的命令及其参数,但 CMD 能够被 docker run 后面跟的命令行参数替换。 ENT 阅读全文
摘要:
Dockerfile 常用指令 1、FROM 指定base镜像2、MAINTAINER 设置镜像的作者,可以为任意字符串3、COPY 从build context 复制到镜像 COPY 支持两种形式: COPY src dest COPY ["src", "dest"] 注意:src 只能指定 bu 阅读全文
摘要:
如何 debug Dockerfile 通过 Dockerfile 构建镜像的过程 如果 Dockerfile 由于某种原因执行到某个指令失败了,我们也将能够得到前一个指令成功执行构建出的镜像,可以运行最新的这个镜像定位指令失败的原因。 举个例子 Dockerfile 构建过程如下 21行出现错误, 阅读全文
摘要:
Docker 会缓存已有镜像的镜像层,构建新镜像时,如果某镜像层已经存在,就直接使用,无需重新创建。 举例说明 Dockerfile 中每一个指令都会创建一个镜像层,上层是依赖于下层的。无论什么时候,只要某一层发生变化,其上面所有层的缓存都会失效。 交换前面 RUN 和 COPY 的顺序,缓存失效了 阅读全文
摘要:
第一个 Dockerfile 运行 docker build 命令构建镜像并详细分析每个细节 镜像的构建历史 docker history 会显示镜像的构建历史,也就是 Dockerfile 的执行过程。 这个新镜像层的内容由 RUN apt-get update && apt-get instal 阅读全文
摘要:
Docker 提供了两种构建镜像的方法: docker commit 命令 docker commit 命令创建新镜像的过程包含三个步骤: 举个栗子: 在 ubuntu base 镜像中安装 vi 并保存为新镜像。 1、运行容器 参数作用:- it 以交互模式进入容器并打开终端 ;08cb488b7 阅读全文
摘要:
Docker 支持通过扩展现有镜像,创建新的镜像。 99% 的镜像都是通过在 base 镜像中安装和配置需要的软件构建出来的。 举个栗子: 新镜像是从 base 镜像一层一层叠加生成的。每安装一个软件,就在现有镜像的基础上增加一层。 Docker 镜像采用这种分层结构的好处就是共享资源 有多个镜像都 阅读全文
摘要:
base 镜像有两层含义: 能称作 base 镜像的通常都是各种 Linux 发行版的 Docker 镜像,比如 Ubuntu, Debian, CentOS 等。 以 CentOS 为例考察 base 镜像包含哪些内容。 Linux 操作系统由内核空间和用户空间组成。如下图所示: rootfs 内 阅读全文
摘要:
容器是镜像的运行实例,有了镜像才能启动容器。 镜像的内部结构 hello-world - 最小的镜像 hello-world 是 Docker 官方提供的一个镜像,通常用来验证 Docker 是否安装成功。 hello-world镜像大小不到2KB! Dockerfile 是镜像的描述文件,定义了如 阅读全文
摘要:
容器启动过程如下: 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 - 什么是容器? 容器: 容器是一种轻量级、可移植、自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行。 开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。 容器与虚拟机的区别 容器在host操作系统的用户空间中运 阅读全文
摘要:
运行第一个容器【视频】 http://www.iqiyi.com/w_19s5cjhj55.html 引用来自 https://mp.weixin.qq.com/s?__biz=MzIwMTM5MjUwMg==&mid=2653587564&idx=1&sn=d1db6c9993f44875f88c 阅读全文
摘要:
搭建实验环境 管理工具 - Docker Engine runtime - runc 操作系统 - Ubuntu 安装 Docker 0、更新 apt 源 1、配置安装Docker的apt源 a) 安装包,允许 apt 命令 HTTPS 访问 Docker 源。 b) 添加 Docker 官方的 G 阅读全文
摘要:
容器平台技术 容器平台技术能够让容器作为集群在分布式环境中运行。 容器编排引擎 基于容器的应用一般会采用微服务架构。在这种架构下,应用被划分为不同的组件,并以服务的形式运行在各自的容器中,通过 API 对外提供服务。为了保证应用的高可用,每个组件都可能会运行多个相同的容器。这些容器会组成集群,集群中 阅读全文
摘要:
鸟瞰容器生态系统 容器生态系统包含核心技术、平台技术和支持技术。 容器核心技术 是指能够让 container 在 host 上运行起来的那些技术。 容器规范 包含 Docker、CoreOS、Google在内的若干公司共同成立了一个叫 Open Container Initiative(OCI) 阅读全文
摘要:
举例: 1、针对指定网卡eth0抓包 2、过滤主机 3、过滤协议的类型 4、过滤端口 - nnn 让tcpdump不要把IP地址转化为网络名称,不要把端口显示为服务名 5、抓取报文后隔指定的时间保存一次 - G 选项后面接时间,单位为秒;本例中的时间为60秒。 抓包的名字以时间戳命名 %Y_%m%d 阅读全文
摘要:
写在前面 容器技术现在炙手可热千挑万选这本书《每天5分钟玩转容器技术》作为学习入门 声明:本博客文章仅作为学习笔记 容器的思想: Docker容器的思想来自于集装箱,集装箱解决了什么问题?在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。那么 阅读全文