全面的Docker快速入门教程

Docker中的三个重要概念

Docker中的三个重要概念分别是:Image(镜像),Container(容器),Repository(仓储)。

Image(镜像)一个特殊的文件系统

你可以把它理解成一个虚拟机的快照(Snapshot),里面包含了你要部署的应用程序以及它所关联的所有库。

操作系统分为内核和用户空间。对于Linux而言,内核启动后,会挂载root文件系统为其提供用户空间支持。而Docker镜像(Image),就相当于是一个root文件系统。Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。 镜像不包含任何动态数据,其内容在构建之后也不会被改变。

Container(容器)镜像运行时的实体

这里的容器就像是一台台运行起来的虚拟机,里面运行了你的应用程序,每个容器是独立运行的他们相互之间不影响。通过一个镜像,我们可以创建许多个不同的Container容器。

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和类的实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。前面讲过镜像使用的是分层存储,容器也是如此。容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。

全面的Docker快速入门教程

Repository(仓储)集中存放镜像文件的地方

镜像构建完成后,可以很容易的在当前宿主上运行,但是, 如果需要在其它服务器上使用这个镜像,我们就需要一个集中的存储、分发镜像的服务(就像Git仓库一样),Docker Registry就是这样的服务。
一个Docker Registry中可以包含多个仓库(Repository),每个仓库可以包含多个标签(Tag),每个标签对应一个镜像。所以说:镜像仓库是Docker用来集中存放镜像文件的地方类似于我们之前常用的代码仓库。通常,一个仓库会包含同一个软件不同版本的镜像,而标签就常用于对应该软件的各个版本 。我们可以通过

Docker 架构及工作原理

Docker使用客户端-服务器架构。Docker 客户端与 Docker 守护进程通信,后者负责构建、运行和分发Docker容器等繁重的工作。Docker 客户端和守护进程可以运行在同一个系统上,或者您可以将一个 Docker 客户端连接到一个远程 Docker 守护进程。Docker 客户端和守护进程通过 UNIX 套接字或网络接口使用 REST API 进行通信。

Docker 架构及工作原理详情介绍👉

全面的Docker快速入门教程

Dockerfile(自动化脚本)

主要是用来创建我们之间讲到的镜像,这个过程就好比我们在虚拟机中安装操作系统和软件一样,只不过是通过Dockerfile这个自动化脚本完成的。

Dockerfile详解教程文章: Dockerfile制作自己的镜像文件; 👉

Docker管理工具

Portainer(推荐)

全面的Docker快速入门教程

介绍:Portainer是一个开源的、轻量级的Docker环境管理UI(是Web应用的形式),可以用来管理Docker宿主机和docker swarm集群。

Github 上项目地址: https://github.com/portainer/portainer ;

官网地址: https://www.portainer.io

支持的系统:Linux, Mac OS X, Windows。

功能特性:

  • 管理仓库、网络、数据卷、密钥、镜像、容器
  • 管理你的配置,例如告警、监控

  • 支持容器的健康检查

  • 容器的启动、停止、恢复、删除

  • 检查容器、查看容器日志、可视化状态查看

  • 进入容器控制台

  • 可以添加扩展

  • 有一套 RBAC 基于角色的权限控制系统

DockStation

全面的Docker快速入门教程

介绍: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学习系列文章

入门必备:十本你不容错过的Docker入门到精通书籍推荐👉

day1、全面的Docker快速入门教程👉

day2、CentOS 8.4安装Docker👉

day3、Windows10 Docker安装详细教程👉

参考文章:

官方Docker-docs

Docker 10分钟快速入门-B站视频

Original: https://www.cnblogs.com/Can-daydayup/p/15559341.html
Author: 追逐时光者
Title: 全面的Docker快速入门教程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/534991/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球