Docker的技术原理:

1. Linux 命名空间(Namespaces)

进程命名空间:使得每个容器拥有独立的进程空间,互相隔离,不受其他容器影响。

网络命名空间:提供独立的网络栈,每个容器有自己的网络接口、IP地址,实现网络隔离。

文件系统命名空间:每个容器拥有自己的文件系统视图,使得容器间文件系统互相隔离。

2. 控制组(cgroups)

控制组允许限制和隔离一个或多个进程的系统资源(如CPU、内存、磁盘I/O等),确保容器资源可预测、可控。

3. Union 文件系统

Docker使用Union文件系统(例如AUFS、OverlayFS)实现镜像的分层,镜像的每一层都是只读的,并且可以共享。

4. Docker 镜像

镜像是容器运行的基础,它包含应用程序运行所需的所有内容,由多个分层构成,并通过联合加载形成完整的文件系统。

5. Docker 守护进程和客户端

Docker守护进程(dockerd)负责管理镜像、容器、网络和存储卷等资源。

Docker客户端(docker命令)通过API与守护进程通信,发出命令和操作Docker守护进程。

6. 容器与宿主机交互

Docker容器与宿主机之间通过命名空间和控制组进行通信,但受限于所选的网络模式。

7. Docker网络

Docker提供多种网络模式,如桥接(bridge)、主机(host)、Overlay等,以满足不同场景下的网络需求。

8. 存储卷

存储卷是持久化数据的一种方式,可以使容器和宿主机之间共享数据,也可以用于容器间共享数据。

这些技术和原理共同作用,使得Docker能够实现高效的容器化,提供了轻量、可移植和可扩展的应用部署解决方案。

在CentOS上安装docker(最小化安装CentOS)

1. 安装其他工具

yum install net-tools yum-utils -y

2. 配置Docker的yum源(使用阿里云镜像站)

    1) 进入阿里云镜像站 https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.57e31b11rLIaz5
2) 搜索docker-ce
3)在Linux使用命令 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3. 使用命令安装Docker

yum install docker-ce
# 如果需要安装指定版本可以使用 yum install docker-ce-具体版本号

4.检查是否安装成功

[root@docker ~]# docker -v
Docker version 24.0.7, build afdd53b
# 可以正常回显代表安装正常

5. 启动、开机自启docker

[root@docker ~]# systemctl enable  --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.

Docker安装 配置的更多相关文章

  1. docker安装配置gitlab详细过程

    docker安装配置gitlab详细过程   获取镜像 1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二如果服务器网路不好或者pull不下 ...

  2. docker安装配置

    ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#Docker [docker ...

  3. centos7 docker 安装配置

    docker快速入门测试 ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#D ...

  4. 【云计算】ubuntu下docker安装配置指南

    Docker Engine安装配置 以下描述仅Docker在Ubuntu Precise 12.04 (LTS).Ubuntu Trusty 14.04 (LTS).Ubuntu Wily 15.10 ...

  5. Centos 7 Docker安装配置

    版本介绍 Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE.社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设 ...

  6. docker安装配置lnmp

    一.安装配置docker 1.下载docker:yum install -y docker 2.设置docker远程镜像地址为国内路径:curl -sSL https://get.daocloud.i ...

  7. mac系统下docker安装配置mysql详细步骤

    上文介绍了MacOS安装Docker傻瓜式教程,安装好后第一件事就决定把本地数据库迁移过来,那么首先就得安装mysql,下面就开始我们的安装之旅吧. 一.docker配置镜像加速器 我们使用docke ...

  8. Docker安装配置及华为云镜像加速

    Docker华为云镜像加速 软件介绍 支持的操作系统 docker安装 docker镜像加速(华为云实现) 1.登录华为云网站,注册华为云账户 2.登录华为云账户,点击网页右上角的控制台 3.点击左上 ...

  9. Docker安装配置Oracle详细教程(以作持久化处理)

    Docker安装Oracle 1,拉取Oracle镜像,拉取成功后查看  docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11 ...

  10. Docker安装配置教程

    Docker公开课 1 Docker介绍 1.1 Docker是什么 云计算\云服务 IAAS(基础设施即服务).PAAS(平台即服务).SAAS(软件即服务) Docker到底是什么呢? Docke ...

随机推荐

  1. oracle优化-分页查询的错误认识

    对于分页查询,上一篇文章总结了实现分页查询的办法.同时给出等价写法,另外在执行计划角度验证SQL的等价性https://www.cnblogs.com/handhead/p/13856505.html ...

  2. ⭐volatile⭐ 用volatile关键字则会从内存中直接读取变量的值

  3. 递归解析Json,实现生成可视化Tree+快速获取JsonPath

    内部平台的一个小功能点的实现过程,分享给大家: 递归解析Json,可以实现生成可视化Tree+快速获取JsonPath. 步骤: 1.利用JsonPath读取根,获取JsonObject 2.递归层次 ...

  4. Linux系列教程——Linux文件编辑、Linux用户管理

    @ 目录 1 Linux基本权限 1.权限基本概述 1.什么是权限? 2.为什么要有权限? 3.权限与用户之间的关系? 4.权限中的rwx分别代表什么含义? 2.权限设置示例 1.为什么要设定权限,我 ...

  5. 编译python为可执行文件遇到的问题:使用python-oracledb连接oracle数据库时出现错误:DPY-3010

    错误原文: DPY-3010: connections to this database server version are not supported by python-oracledb in ...

  6. ERROR: Command errored out with exit status 1:

    Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple Collecting CairoSVG==2.4.2 Using cached ...

  7. python-手机自动化环境部署

    关于ui-automator,google的官方介绍: https://developer.android.google.cn/training/testing/ui-automator https: ...

  8. Super Apps 超级应用们背后的道家哲学

    众所周知,Elon Musk 想将 Twitter 重新设计定位成一款"超级应用 - X"的野心已经不再是秘密.伴随着应用商店中 Twitter 标志性的蓝鸟 Logo 被 X 取 ...

  9. CF85B [Embassy Queue]

    Problem 题目简述 有 \(n\) 个人分别在 \(c_i\) 的时刻来,他们都要在 \(k_1\),\(k_2\) 和 \(k_3\) 窗口干不同的事,当有后面一人也排在在同一窗口时,必须等待 ...

  10. JavaScript 语法:语法约定与程序调试

    作者:WangMin 格言:努力做好自己喜欢的每一件事 JavaScript 语法约定 1.大小写的区分 1). JavaScript的关键字,永远都是小写的: 2). 内置对象,如Math和Date ...