【云原生】1.2 Docker基本概念(含 Docker 安装)

简介: 我们可以看见虚拟机技术太过于重量级了,所以Docker 推出一项新技术—— 容器化技术(特点:基础镜像MB级别、创建简单、隔离性强、启动速度秒级、移植与分享方便)


一、Docker基本概念

1、统一标准

✅应用构建:

我们用不同的语言(eg:Java、C++、JavaScript、Python 等等)打包成不同的软件包,在不同的环境下运行都是不一样的。可能会导致问题也不同(举个例子:我用 java 写了一个程序,但放到了另外一台电脑点击 .exe 就运行不了了),所以无论是啥 .exe,我们需要统一的包,这是要使用 docker build ,把它打成统一的包,那么这个包就叫——镜像

✅应用分享:

我们将做好的软件包,放到一个统一指定的地方(docker hub),需要的话我们直接就去用,(这有点像我们安卓手机的市场应用)

✅应用运行:

这是我们有了软件包,我们直接点击  .exe 或者 docker run 就可以直接运行(eg:C ++ 运行先编译后才运行,我们这大大减少了时间)

总结一句话:我们所有的软件打包成统一的镜像,直接 docker run 运行,或者在 docker hub 上面下载下来使用。

Docker的出现开启了个时代——容器化时代

2、资源隔离

在之前我们安装某一应用(假设应用占用 6 个 G 的大小)我们的配置 64 G ,突然有一天内存泄漏 64G 直接满了,其他应用可能就会被挤下去了,所以为了安全起见,就产生了资源隔离。

💕虚拟化技术:

假设虚拟机 AppA、AppB、Appc都占 6 个 G,那个在内存泄漏的情况下,怎样都不会超过 6 个 G,这种技术叫做虚拟化技术。但用过虚拟机的朋友都知道虚拟机的通病(基础镜像GB级别、创建使用稍微复杂、隔离性强、启动速度慢、移植与分享不方便等缺点)

image.png

image.png


我们可以看见虚拟机技术太过于重量级了,所以 Docker 推出一项新技术—— 容器化技术(特点:基础镜像MB级别、创建简单、隔离性强、启动速度秒级、移植与分享方便)

image.png

image.gif

二、Docker 的安装

如何用 electerm 远程连接云服务器,这里推荐这位大佬的文章

(这里介绍在 centos 下安装 docker,其他系统安装参考Install Docker Engine on CentOS | Docker Documentation

如何你之前安装过老版本的 docker,需要卸载的话可以使用

yum remove docker

image.gif

image.png

image.gif

✨然后我们配置 yum 源

yum install -y yum-utils

image.gif

✨ 再添加 docker 的安装原地址

yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

image.gif

image.png

✨接下来安装docker

yum install -y docker-ce docker-ce-cli containerd.io

image.gif

docker-ce :docker 社区版

docker-e :docker 企业版

docker-ce-cli:操作 docker 服务的命令行程序

containerd.io:容器化的运行环境

安静的等待安装,大概几分钟左右。

image.png

✨ 我们开始启动了

systemctl enable docker --now

image.gif

输入docker ps,如果有输出那么就安装成功了。

image.gifimage.png

现在全部就安装好了,但我们如何在 hub 里面下载东西会很慢(因为是国外的网站),所以我们这里需要配置一下,做一个镜像加速

✨配置加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

image.gif

image.pngimage.gif

这里我们就 docker 与加速安装好了。


相关文章
|
5月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
3月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
373 3
docker 安装 Postgres 17.6
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
356 5
|
2月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
342 2
|
6月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
665 4
|
5月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
1739 0
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
298 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式