Docker中的三个重要概念
Docker中的三个重要概念分别是:Image(镜像),Container(容器),Repository(仓储)。
Image(镜像)一个特殊的文件系统
你可以把它理解成一个虚拟机的快照(Snapshot),里面包含了你要部署的应用程序以及它所关联的所有库。
操作系统分为内核和用户空间。对于Linux而言,内核启动后,会挂载root文件系统为其提供用户空间支持。而Docker镜像(Image),就相当于是一个root文件系统。Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。 镜像不包含任何动态数据,其内容在构建之后也不会被改变。
Container(容器)镜像运行时的实体
这里的容器就像是一台台运行起来的虚拟机,里面运行了你的应用程序,每个容器是独立运行的他们相互之间不影响。通过一个镜像,我们可以创建许多个不同的Container容器。
镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和类的实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。前面讲过镜像使用的是分层存储,容器也是如此。容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。
Repository(仓储)集中存放镜像文件的地方
镜像构建完成后,可以很容易的在当前宿主上运行,但是, 如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务(就像Git仓库一样),Docker Registry就是这样的服务。
一个Docker Registry中可以包含多个仓库(Repository),每个仓库可以包含多个标签(Tag),每个标签对应一个镜像。所以说:镜像仓库是Docker用来集中存放镜像文件的地方类似于我们之前常用的代码仓库。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本 。我们可以通过
Docker 架构及工作原理
Docker使用客户端-服务器架构。Docker 客户端与 Docker 守护进程通信,后者负责构建、运行和分发Docker容器等繁重的工作。Docker 客户端和守护进程可以运行在同一个系统上,或者您可以将一个 Docker 客户端连接到一个远程 Docker 守护进程。Docker 客户端和守护进程通过 UNIX 套接字或网络接口使用 REST API 进行通信。
Dockerfile(自动化脚本)
主要是用来创建我们之间讲到的镜像,这个过程就好比我们在虚拟机中安装操作系统和软件一样,只不过是通过Dockerfile这个自动化脚本完成的。
Dockerfile详解教程文章: Dockerfile制作自己的镜像文件; 👉
Docker管理工具
Portainer(推荐)
介绍:Portainer是一个开源的、轻量级的Docker环境管理UI(是Web应用的形式),可以用来管理Docker宿主机和docker swarm集群。
Github 上项目地址: https://github.com/portainer/portainer ;
官网地址: https://www.portainer.io
支持的系统:Linux, Mac OS X, Windows。
功能特性:
- 管理仓库、网络、数据卷、密钥、镜像、容器
-
管理你的配置,例如告警、监控
-
支持容器的健康检查
-
容器的启动、停止、恢复、删除
-
检查容器、查看容器日志、可视化状态查看
-
进入容器控制台
-
可以添加扩展
- 有一套 RBAC 基于角色的权限控制系统
DockStation
介绍:DockStation是一个免费的、以开发人员为中心的用于管理基于 Docker的桌面应用程序。您可以仅使用 GUI 来监控、配置和管理服务和容器,而不是大量的 CLI 命令。
官网地址: https://dockstation.io/;
Github地址: https://github.com/DockStation/dockstation
支持的系统:Linux, Mac, Windows
功能特性:
- 可以非常方便的操作 Docker 和 DockerCompose。
-
可以帮助我们管理容器、Service服务(本地远程都可以),并监控他们
-
可以轻松跟踪 CPU、内存、网络、磁盘I/O、开放端口
- 可以把常用的操作组织成一个项目,通过项目的方式来检查容器状态,以图形化的方式管理。
Docker Desktop
介绍:Docker Desktop 是一款易于安装的应用程序,使您能够构建和共享容器化应用程序和微服务。
官网地址: https://www.docker.com/products/docker-desktop ;
支持的系统:Mac, Windows
功能特性:
- 能够以多种语言和框架在任何云平台上容器化和共享任何应用程序
-
轻松安装和设置完整的 Docker 开发环境
-
包括最新版本的 Kubernetes
-
自动更新,让您保持最新状态和安全
-
在 Windows 上,能够在 Linux 和 Windows Server 环境之间切换以构建应用程序
-
使用本机 Windows Hyper-V 虚拟化实现快速可靠的性能
-
能够通过 Windows 机器上的 WSL 2 在 Linux 上本地工作
-
代码和数据的卷安装,包括文件更改通知和轻松访问本地主机网络上运行的容器
-
使用支持的 IDE 进行容器内开发和调试
Docker学习系列文章
参考文章:
Original: https://www.cnblogs.com/Can-daydayup/p/15559341.html
Author: 追逐时光者
Title: 全面的Docker快速入门教程
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/534991/
转载文章受原作者版权保护。转载请注明原作者出处!