docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈

简介: Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈源、安装 Docker 包、验证安装- 适用场景:开发、测试、生产环境通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。

docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈

docker介绍

首先我们要知道docker的官网
https://www.docker.com/

这是docker官网,是不是觉得有点似曾相识,看起来和git 对应的代码托管平台 GitHub gitee 很类似,但是他们是有区别的。

  • docker基于容器技术,利用 Linux 内核的命名空间(Namespaces)和控制组(cgroups)等功能来创建独立的运行环境。容器共享主机操作系统的内核,当启动一个 Docker 容器时,Docker 引擎会根据容器所基于的镜像来创建一个隔离的文件系统、进程空间、网络接口等。例如,在一台服务器上可以同时运行多个基于不同操作系统(如 Ubuntu、CentOS 等)的容器,这些容器相互独立,就像运行在不同的服务器上一样,但实际上它们共享主机的内核资源。

而gitee和Github基于版本控制系统(如 Git)构建。它通过存储库(Repository)来管理代码。

扩展知识:

一、Docker 是什么

  1. 定义
  • Docker 是一个开源的容器化平台,它允许开发者将应用程序及其依赖项打包成一个称为容器的标准化单元。容器是轻量级、可移植的执行环境,在任何支持 Docker 的操作系统上都能以相同的方式运行。
  • 简单类比,就像是把应用程序和它运行所需要的所有东西(如库、配置文件等)都装在一个 “盒子”(容器)里,这个 “盒子” 可以很方便地在不同的地方(不同的服务器、开发环境、测试环境等)移动和运行,而且里面的东西(应用程序的运行环境)不会受到外部环境的干扰。
  1. 核心概念
  • 镜像(Image):镜像是一个只读的模板,包含了运行容器所需的文件系统和配置。例如,一个基于 Ubuntu 操作系统的 Web 服务器应用镜像,会包含 Ubuntu 操作系统的文件系统,以及安装好的 Web 服务器软件(如 Nginx)及其配置文件。可以把镜像看作是容器的 “蓝图”。
  • 容器(Container):容器是从镜像创建的运行实例。它是一个独立的运行环境,有自己的进程空间、网络接口和文件系统。以刚才的 Web 服务器为例,根据 Web 服务器镜像创建的容器,就是实际运行 Web 服务器应用的地方。容器可以被启动、停止、删除等操作。
  • 仓库(Repository):仓库是用于存储和分发镜像的地方,类似于代码仓库。Docker Hub 是最常用的公共仓库,上面有大量官方和社区维护的镜像。开发者可以将自己创建的镜像推送到仓库中,也可以从仓库中拉取别人创建的镜像来使用。
  1. 优势
  • 一致性环境:确保应用在不同的环境(开发、测试、生产)中以相同的方式运行,减少了因环境差异导致的 “在我机器上可以运行” 的问题。
  • 轻量级和高效:相比于传统的虚拟机,容器更加轻量级。因为容器共享主机操作系统的内核,不需要像虚拟机那样运行完整的操作系统,从而节省了大量的系统资源,启动速度也更快。
  • 易于部署和扩展:可以通过简单的命令快速部署容器,并且可以很容易地根据应用的负载情况进行扩展,比如启动多个相同的容器来处理更多的请求。

安装部署

https://docs.docker.com/desktop/setup/install/linux/

这里是 docker的下载地址,优雅草目前采用的系统均为Linux Ubuntu ,因此本文优雅草央千澈也就以Ubuntu为示范

这里我们点击来到了详细说明,这里我们大意是要安装docker 桌面

第一步:gnome-terminal安装

docker这里提示对于非Gnome桌面环境,gnome-terminal必须安装。

扩展知识:

在 Ubuntu 系统中,非 Gnome 桌面环境是指除了 Gnome 之外的其他桌面环境。

一、常见的非 Gnome 桌面环境

  1. KDE Plasma
  • 特点
  • 高度可定制性。它提供了丰富的桌面小部件,用户可以根据自己的喜好对桌面进行个性化设置,比如可以在桌面上添加天气小部件、系统资源监视器小部件等。
  • 具有美观的视觉效果。KDE Plasma 的主题和图标设计精美,并且支持多种主题切换,能给用户带来舒适的视觉体验。
  • 功能强大的文件管理器。Dolphin 是 KDE Plasma 的默认文件管理器,它支持强大的文件搜索功能、标签式浏览以及网络共享功能等。
  • 适用场景:适合那些追求高度定制化、需要强大的文件管理功能和美观界面的用户,特别是对设计、多媒体等工作有需求的用户。例如,平面设计师可以利用其定制功能将桌面设置成符合自己工作流程的样式,方便快速访问设计工具和素材。
  1. XFCE
  • 特点
  • 资源占用少。相比 Gnome 和 KDE Plasma,XFCE 对系统资源的要求较低,在老旧设备或者资源有限的计算机上也能流畅运行。
  • 简单易用。它的界面简洁,操作逻辑清晰,对于初学者或者只是需要一个基本桌面环境来完成日常任务(如浏览网页、处理文档)的用户来说非常友好。
  • 稳定性高。XFCE 经过长期的发展,其稳定性得到了很好的验证,很少出现崩溃等问题。
  • 适用场景:适用于低配置设备,如老旧的笔记本电脑或者服务器的桌面管理。也适合那些不需要复杂功能,只希望有一个稳定、简单桌面环境的用户。
  1. LXQt/LXDE
  • 特点
  • 轻量级。这是其最显著的特点,它的设计目标是在资源有限的系统上提供基本的桌面功能。它的内存占用非常小,能够在低性能的硬件上快速启动和运行。
  • 快速高效。启动速度快,应用程序的响应时间也较短,为用户提供了高效的操作体验。
  • 简洁的界面。界面设计简洁明了,没有过多的装饰,专注于提供基本的桌面组件和功能。
  • 适用场景:主要用于嵌入式系统、小型设备(如树莓派)或者对性能要求极高的低配置计算机,如一些用于网络监控或简单数据采集的设备。

二、与 Gnome 桌面环境的对比

  1. 设计理念
  • Gnome 桌面环境注重简洁和易用性,采用了现代的设计风格,以简洁的界面和直观的操作方式为主要特点。例如,Gnome 的活动概览功能可以让用户方便地在多个工作区和应用程序之间切换。
  • 非 Gnome 桌面环境各有其设计重点。如 KDE Plasma 注重定制和功能丰富性,用户可以对桌面的每一个细节进行定制;XFCE 更偏向于简单和资源效率,提供基本的桌面功能而没有过多的复杂设计。
  1. 资源占用
  • Gnome 桌面环境在资源占用方面相对较高,特别是在较旧的硬件设备上可能会出现性能下降的情况。
  • 非 Gnome 桌面环境如 XFCE 和 LXQt/LXDE 则在资源占用上有优势,能够在较低配置的设备上良好运行。
  1. 功能和定制程度
  • Gnome 提供了一套相对固定的功能和操作方式,虽然也有一定的扩展性,但定制程度相对有限。
  • 非 Gnome 桌面环境的功能和定制程度差异较大。KDE Plasma 的定制功能非常强大,用户可以改变桌面的几乎所有方面;XFCE 的定制程度适中,提供了基本的定制选项来满足用户的日常需求;LXQt/LXDE 则主要提供基本的桌面功能定制。

如何来检测一下我们的服务器是否是非Gnome桌面环境,

在终端中输入 echo $XDG_CURRENT_DESKTOP ,如果输出不是 ubuntu:GNOME ,则不是 Gnome 桌面环境。例如输出为 ubuntu:XFCE ,就表明使用的是 XFCE 桌面环境.

这个就是官网整体的安装描述,我们直接执行安装:

第一步,更新apt库

执行
sudo apt-get update


我们可以看到显示了腾讯云的镜像,如果你们是阿里云应该会显示阿里。

第二步,执行安装

sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

中途会提示是否继续,输入Y即可,以上步骤官方的解释就是# Add Docker’s official GPG key: 添加gpgkey,下一步

第三步:# Add the repository to Apt sources 说是把库添加进apt 资源

执行

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

第四步:安装docker包

执行
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

第五步:检测是否安装成功

执行
sudo docker run hello-world

报错如下:

Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.

经过阅读,修改 文件
执行
vim /etc/docker/daemon.json
编辑这个文件

打开后 加入

{
“registry-mirrors”: [
https://mirror.ccs.tencentyun.com
]
}

保存输入:wq 退出

提示我不能修改这个文件 那就是没权限,执行
:q!
不保存修改退出,优雅草央千澈懒得跟他墨迹,直接登录服务器手改

再次执行
sudo docker run hello-world

完美,成功,在ubuntu上面安装了 docker,本文结束,下文主要介绍使用docker安装一个开源项目(个人认为非常有用的项目),

相关文章
|
3天前
|
弹性计算 人工智能 安全
对话 | ECS如何构筑企业上云的第一道安全防线
随着中小企业加速上云,数据泄露、网络攻击等安全威胁日益严重。阿里云推出深度访谈栏目,汇聚产品技术专家,探讨云上安全问题及应对策略。首期节目聚焦ECS安全性,提出三道防线:数据安全、网络安全和身份认证与权限管理,确保用户在云端的数据主权和业务稳定。此外,阿里云还推出了“ECS 99套餐”,以高性价比提供全面的安全保障,帮助中小企业安全上云。
对话 | ECS如何构筑企业上云的第一道安全防线
|
11天前
|
调度 云计算 芯片
云超算技术跃进,阿里云牵头制定我国首个云超算国家标准
近日,由阿里云联合中国电子技术标准化研究院主导制定的首个云超算国家标准已完成报批,不久后将正式批准发布。标准规定了云超算服务涉及的云计算基础资源、资源管理、运行和调度等方面的技术要求,为云超算服务产品的设计、实现、应用和选型提供指导,为云超算在HPC应用和用户的大范围采用奠定了基础。
179614 22
|
20天前
|
人工智能 自然语言处理 前端开发
从0开始打造一款APP:前端+搭建本机服务,定制暖冬卫衣先到先得
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。
9592 28
|
6天前
|
机器学习/深度学习 分布式计算 供应链
阿里云先知安全沙龙(上海站) ——大模型基础设施安全攻防
大模型基础设施的安全攻防体系涵盖恶意输入防御和基础设施安全,包括框架、三方库、插件、平台、模型和系统安全。关键漏洞如CVE-2023-6019(Ray框架命令注入)、CVE-2024-5480(PyTorch分布式RPC)及llama.cpp中的多个漏洞,强调了代码安全性的重要性。模型文件安全方面,需防范pickle反序列化等风险,建议使用Safetensors格式。相关实践包括构建供应链漏洞库、智能化漏洞分析和深度检测,确保全方位防护。
|
4天前
|
存储 缓存 运维
阿里云先知安全沙龙(上海站)——后渗透阶段主机关键信息自动化狩猎的实现与应用
本文介绍了在后渗透测试中使用LSTAR工具和PowerShell脚本进行RDP状态查询、端口获取及凭据收集的过程,强调了高强度实战场景下的OPSEC需求。通过MITRE ATT&CK框架的应用,详细阐述了凭证访问、发现和收集等关键技术,确保攻击者能够隐蔽、持续且高效地渗透目标系统,最终获取核心数据或控制权。文中还展示了SharpHunter等工具的自动化实现,进一步提升了操作的安全性和效率。
|
4天前
|
机器学习/深度学习 人工智能 安全
通义视觉推理大模型QVQ-72B-preview重磅上线
Qwen团队推出了新成员QVQ-72B-preview,这是一个专注于提升视觉推理能力的实验性研究模型。提升了视觉表示的效率和准确性。它在多模态评测集如MMMU、MathVista和MathVision上表现出色,尤其在数学推理任务中取得了显著进步。尽管如此,该模型仍存在一些局限性,仍在学习和完善中。
|
24天前
|
Cloud Native Apache 流计算
资料合集|Flink Forward Asia 2024 上海站
Apache Flink 年度技术盛会聚焦“回顾过去,展望未来”,涵盖流式湖仓、流批一体、Data+AI 等八大核心议题,近百家厂商参与,深入探讨前沿技术发展。小松鼠为大家整理了 FFA 2024 演讲 PPT ,可在线阅读和下载。
5185 15
资料合集|Flink Forward Asia 2024 上海站
|
1月前
|
人工智能 自动驾驶 大数据
预告 | 阿里云邀您参加2024中国生成式AI大会上海站,马上报名
大会以“智能跃进 创造无限”为主题,设置主会场峰会、分会场研讨会及展览区,聚焦大模型、AI Infra等热点议题。阿里云智算集群产品解决方案负责人丛培岩将出席并发表《高性能智算集群设计思考与实践》主题演讲。观众报名现已开放。
|
16天前
|
Docker 容器
|
5天前
|
监控 NoSQL Java
若依RuoYi项目环境搭建教程(RuoYi-Vue + RuoYi-Vue3版本)
若依(RuoYi)是一款基于Spring Boot和Vue.js的开源Java快速开发脚手架,支持OAuth2、JWT鉴权,集成多种安全框架和持久化框架。它提供了系统管理、监控管理、任务调度、代码生成等常用功能模块,适合中小型公司快速搭建Web应用。本文主要介绍若依框架的特点、版本发展、优缺点及项目部署步骤,帮助开发者快速上手并部署若依项目。
若依RuoYi项目环境搭建教程(RuoYi-Vue + RuoYi-Vue3版本)