前言
本系列为笔者学习Docker的过程记录,笔记全部参考网络资源,如其他优秀博主、菜鸟教程、B站等,本人能力有限,或多或少理解上不够深或者理解错误,本文中写得好的地方多来自他人,所有错误都由本人承担,希望在学习过程当中和大家一起交流。
一、Docker是什么?
Docker 是一个开源的应用容器引擎,让开发者打包他们的应用以及依赖包到一个轻量级(只容纳软件需要的运行环境,其他的都不要)、可移植的容器中,然后可以上传到一个镜像仓库,其他使用者可以非常方便的获取和安装,之后可以在自己的OS(无论是Windows/Mac/Linux)下一个命令运行起来开发者开发的应用,应用运行时是处在和开发者开发、测试时的运行环境中,这就不用要求使用者配置和开发者一样的环境。容器是完全使用沙箱机制,相互之间不会有任何接口。
二、Docker架构
- 镜像(Image):Docker 镜像就相当于是一个 root 文件系统。
- 容器(Container):镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
- 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
Docker相关名词介绍
概念 | 说明 |
---|---|
Docker 镜像(Images) | Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。 |
Docker 容器(Container) | 容器是独立运行的一个或一组应用,是镜像运行时的实体。 |
Docker 客户端(Client) | Docker 客户端通过命令行或者其他工具使用 Docker SDK (https://docs.docker.com/develop/sdk/) 与 Docker 的守护进程通信。 |
Docker 主机(Host) | 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。 |
Docker Registry | Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本。我们可以通过 <仓库名>:<标签> 的格式来指定具体是这个软件哪个版本的镜像。如果不给出标签,将以 latest 作为默认标签。 |
Docker Machine | Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |
容器与镜像的关系类似于面向对象编程中的对象与类。
Docker | 面向对象 |
---|---|
容器 | 对象 |
镜像 | 类 |
三、Docker 安装
Ubantu Docker安装教程链接:https://www.runoob.com/docker/ubuntu-docker-install.html
Debian Docker安装教程链接:https://www.runoob.com/docker/debian-docker-install.html
CentOS Docker安装教程链接:https://www.runoob.com/docker/centos-docker-install.html
Windows Docker安装教程链接:https://www.runoob.com/docker/windows-docker-install.html
MacOS Docker安装教程链接: https://www.runoob.com/docker/macos-docker-install.html
总结
在学习Docker前,需要掌握一点 Linux 的常用命令。
参考资料
菜鸟教程: https://www.runoob.com/docker/docker-tutorial.html
B站视频课件: https://docker.easydoc.net/doc/81170005/cCewZWoN/lTKfePfP