当前位置: 首页 > news >正文

Docker+Kubernetes_第一章_Docker入门

1、Docker介绍

        Docker是一个开源的虚拟化容器引擎,让开发者可以打包他们的应用及依赖到一个可移植的容器中,然后发布到Linux环境中以实现虚拟化的管理。这些 Linux环境包括CentOS、Redhat、Ubuntu等。在Windows上也可以部署Docker。

        Docker 中的虚拟化容器完全使用“沙箱”机制,相互之间不会有任何接口。可以把这些容器理解为是逻辑隔离的。

        一个完整的 Docker 由以下几部分组成:

  • Docker客户端。
  • Docker守护进程(Daemon)。
  • Docker 镜像(lmage)。
  • Docker容器(Container)。
  • 镜像仓库(Repository)。

        Docker 实现了应用代码与底层运行环境之间的耦合。它可以将一个复杂系统中的各个模块进行容器化,同时提供了负载均衡和失败迁移功能。应用的容器化,满足了敏捷开发、动态迁移、标准化的要求,从而大大提高了效率。

2、Docker的体系架构与基本概念

        Docker是一个客户端服务器(Client-Server)架构。Docker 客户端和Docker守护进程交流,而Docker守护进程是运作Docker 的核心,起着非常重要的作用(如构建、运行和分发Docker容器等)。

        我们在使用Docker 创建容器时需要有镜像。镜像是一个只读的模板。而存放镜像的地方叫作“镜像仓库”。镜像仓库,可以是公有镜像仓库(例如官方提供的公有镜像仓库Docker Hub),也可以是私有镜像仓库(例如 Harbor)。

图 1-2 展示了Docker的体系架构

表1-1列出了Docker体系架构中的组成部分及其功能特性。

组成部分

功能特性

Docker客户端

通常指Docker 提供的命令行工具,是Docker 最基本的用户接口。用户通过Docker 客户端提交Docker指令,Docker守护进程接收并执行该指令。Docker也有图形化的客户端工具

Docker守护进程

在Docker宿主机上运行Docker,实际上运行的是 Docker守护进程。用户并不直接和Docker守护进程交互,而是通过 Docker客户端的命令来和它进行交互

Docker镜像

一个Docker镜像是一个只读的模板。例如,一个Docker镜像可以包含一个CentOS的操作系统、一个MySQL的数据库和一个Tomcat的应用服务器。Docker镜像被用来创建Docker容器,Docker提供了一个简单的方式来构建一个新的镜像或更新一个已经存在的镜像。用户也可以从镜像仓库下载其他人已经创建好的Docker 镜像

Docker容器

通过Docker镜像可以创建Docker容器。Docker的容器可以保存任何东西,而这些东西是运行一个应用所必需的。可以把.Docker 容器看成是一个虚拟机。Docker容器可以被运行、开启、停止、移动和删除。每一个容器都是一个分离的、安全的应用平台。Docker容器是Docker的运行组件

镜像仓库

Docker的镜像仓库用于保存Docker镜像,它可以是公共的存储地方,也可以是私有的存储地方。

1、公共的镜像仓库由Docker Hub提供,它提供了一个用户可以使用的已有镜像的集合。这些集合中的镜像可以是你自己创建的,也可以是别人创建的。

2、私有的镜像仓库需要自己在私有环境中搭建,例如在企业内网中自行搭建。Harbor是一个典型的私有的镜像仓库

3、安装Docker

        Docker 实现虚拟化的本质是:在已经运行的Linux中创建了一个逻辑隔离的运行环境。因此,其执行效率几乎等同于宿主机的 Linux主机。

        Docker必须部署在Linux系统上。如果想在其他系统(如Windows)上部署Docker,则需要先安装一个虚拟 Linux环境。表1-2列举了本书所使用的实验环境。

表1-2

所需软件

软件说明

ubuntu-24.10-desktop-amd64.iso

Ubuntu Linux 64位安装文件,将作为运行Docker的宿主机

VMware Workstation Pro

虚拟机管理器,用于部署CentOS环境

Xshell 8

远程SSH登录工具,用于使用命令行方式登录 CentOS

步骤一:更新系统软件包列表

在安装 Docker 之前,需要确保系统的软件包列表是最新的。打开终端,执行以下命令:

sudo apt update

此命令会从软件源中获取最新的软件包信息。

步骤二:安装必要的依赖包

安装一些必要的依赖包,以允许apt通过 HTTPS 使用存储库:

sudo apt install apt-transport-https ca-certificates curl software-properties-common

步骤三:添加 Docker 官方 GPG 秘钥

使用curl命令下载并添加 Docker 官方的 GPG 密钥,以确保下载的软件包的完整性:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

步骤四:添加Docker软件源

将 Docker 官方的软件源添加到系统的软件源列表中:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

步骤五:再次更新软件包列表

添加软件源后,再次更新软件包列表,以便系统知道可以从新的软件源中获取 Docker 软件包:

sudo apt update

步骤六:安装Docker引擎

执行以下命令来安装 Docker 引擎、Docker CLI 和 Containerd:

sudo apt install docker-ce docker-ce-cli containerd.io

在安装过程中,系统会提示你确认安装,输入Y并回车即可。

步骤七:验证Docker安装

安装完成后,可以通过运行一个简单的 Docker 镜像来验证 Docker 是否安装成功:

root@node1:~# docker info 
Client: Docker Engine - Community
 Version:    28.0.0
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.21.0
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.33.0
    Path:     /usr/libexec/docker/cli-plugins/docker-compose
...省略...

步骤八:(可选)将用户添加到docker组

默认情况下,运行 Docker 命令需要使用sudo。为了避免每次都输入sudo,可以将当前用户添加到docker组中:

sudo usermod -aG docker $USER

添加用户到组后,需要注销并重新登录,新的组权限才会生效。你也可以使用以下命令使更改立即生效:

newgrp docker

通过以上步骤,你就可以在 Ubuntu 系统上成功安装并使用 Docker 了。

相关文章:

  • Spring Boot文件上传
  • 设备树及gpio子系统及ioctl控制及字符设备驱动及内核模块编程事项仨LED灯说点就点说灭就灭
  • 计算机原理第三章——存储器(未完善
  • 计算机网络面试知识点总结
  • 一文说清楚编码、摘要、加密、公钥、私钥、解密、签名、验签
  • 具有整合各亚专科医学领域知识能力的AI智能体开发纲要(2025版)
  • docker基操
  • Unity游戏制作中的C#基础(4)数组声明和使用
  • Python 高级特性-迭代
  • 写大论文的word版本格式整理,实现自动生成目录、参考文献序号、公式序号、图表序号
  • Orange 单体架构 - 快速启动
  • VMware Workstation安装Windows10
  • Linux下基本指令(4)
  • android系统SystemServer进程启动流程分析
  • 002 SpringCloudAlibaba整合 - Feign远程调用、Loadbalancer负载均衡
  • 大数据学习之任务流调度系统Azkaban、Superset可视化系统
  • Cursor和Trae使用的感受
  • Spring 到 Spring Boot:配置文件管理的灵活封装与扩展
  • 爬虫第七篇数据爬取及解析
  • SpringBoot 配置文件
  • 66岁华仁世纪集团有限公司创始人、董事长梁福东逝世
  • 新疆巴音郭楞州和硕县发生4.6级地震,震源深度10千米
  • 欧洲观察室|欧盟对华战略或在中欧建交50年时“低开高走”
  • 巴基斯坦外长访华是否与印巴局势有关?外交部:此访体现巴方高度重视中巴关系
  • 中方是否担忧美国主权信用评级下调?外交部:美国应采取负责任的政策措施
  • 著名文学评论家、原伊犁师范学院院长吴孝成逝世