Docker

目录
    1 Docker简介
    2 Docker体系结构
    3 Docker内部组件

参考资料
    · 李振良Docker

1 Docker简介

1.1 Docker概述

    Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union Fs等技术,对应用进程进行封装隔离,并且独立与宿主机与其他进程,这种运行时封装的状态称为容器

    Docker理念是将应用及依赖包打包到一个可移植的容器中,可发布到任意Linux发行版Docker引擎上,使用沙箱机制运行程序,程序之间相互隔离。

1.2 虚拟机与容器区别

图 1-1 虚拟机与容器区别 图示
图 1-2 虚拟机与容器区别 对比

1.3 应用背景

图 1-3 应用场景

2 Docker体系结构

图 2-1 Docker体系结构
图 2-2 Docker体系结构(官网)

    Docker客户端执行命令,Docker主机收到命令后,调用守护进程。若是拉取镜像操作,先从本地仓库拉取,没有的话再去Docker 仓库拉取。通过镜像即可启动容器。

3 Docker内部组件

图 3-1 Docker内部组件

· 命名空间

    Docker有自己的网络IP、进程、文件系统等,看不到宿主机或者其他容器中的进程,隔离作用是命名空间起的作用。

图 3-2 Docker内部进程示例

4 镜像管理

4.1 镜像概述

图 4-1 镜像概述

4.2 镜像与容器联系

图 4-2 镜像与容器联系

4.3 存储驱动

    存储驱动管理Docker容器的本地存储空间。一般设置为overlay2

图 4-3 常见存储驱动

4.4 镜像管理命令

图 4-4 镜像管理指令

5 容器管理

5.1 创建容器常用选项

图 5-1  创建容器常用选项

5.2 管理容器常用命令

图 5-2  管理容器常用命令  

6 管理应用程序数据

6.1 Docker主机数据挂载到容器的方式

    为避免数据随着容器的关闭而丢失,提供容器数据持久化方式。

图 6-1  Docker主机数据挂载到容器的方式

6.2 Volume

图 6-2 Volume

    多个容器可以使用同一个数据卷实现数据的共享。

6.3 Bind Mounts

图 6-3 Bind Mounts

7 Dockerfile

7.1 常用指令

    每个仓库中都包含了一个名为Dockerfile的文件。Dockerfile是一个纯文本文件,其中描述了如何将应用构建到Docker镜像中。

图 7-1 常用指令

7.2 示例

图 7-2 示例Dockerfile文件

8 镜像仓库

8.1 搭建私有镜像仓库

图 8-1 搭建私有镜像仓库
图 8-2 私有镜像仓库管理

8.2 Docker Hub的使用

图 8-3 Docker Hub的使用
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容