Linux安装Docker教程(实测可用)

前言

Docker是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上。以下是对Docker的具体介绍:

  1. 技术起源:容器技术起源于程序员对于环境搭建与应用部署效率的追求。在没有容器技术的年代,重复的环境搭建和程序间的依赖冲突是开发和运维人员面临的主要问题。容器技术的出现,使得应用程序的运行时环境得以隔离,同时避免了操作系统层面的资源浪费,极大提高了环境搭建和应用部署的效率。
  2. 技术对比:与虚拟机相比,容器技术不虚拟化整个操作系统,而是仅虚拟化应用程序的运行时环境,从而更加轻量级且高效。虚拟机需要模拟完整的硬件系统来运行整个客操作系统及应用程序,而容器则直接运行在宿主机的操作系统之上,与其他容器共享内核,但彼此间保持隔离。
  3. 核心技术:Docker使用CS架构,即客户端-服务器模式。用户通过Docker客户端输入命令,如docker builddocker run等,Docker守护进程(Daemon)负责处理这些命令并执行相应的操作。例如,构建镜像或运行容器。
  4. 基本概念:镜像(Image)可以被视为容器的静态定义,包含应用程序及其依赖项。容器(Container)是由镜像实例化而来,它是镜像在内存中的一个运行实例。仓库(Repository)用于存储和分发Docker镜像,用户可以从公共仓库下载所需镜像,也可以将自己的镜像推送到私有或公共仓库中。
  5. 应用场景:Docker适用于自动化测试和持续集成、发布的场景。开发人员可以在本地编写代码并通过Docker容器进行测试,然后将应用程序推送到测试环境进行进一步验证。一旦测试完成,就可以轻松地将更新后的应用程序部署到生产环境中。
  6. 优势分析:Docker的优势在于其快速性、一致性和可移植性。由于容器可以在任何环境中以相同的方式运行,因此大大简化了应用程序的部署流程。此外,Docker容器的轻量级特性使得在同一硬件上可以运行更多的工作负载,从而提高资源利用率。

综上所述,Docker作为现代软件开发和运维的重要组成部分,通过提供一套简单有效的工具链,极大地简化了应用程序的封装、分发和部署过程。无论是在个人开发环境还是在企业级生产环境中,Docker都展现出了巨大的价值和潜力。

安装

Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。

Docker CE 分为 stable testnightly 三个更新频道。

官方网站上有各种环境下的安装指南,这里主要介绍 Docker CE 在CentOS上的安装。

1.CentOS安装Docker

Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。

1.1.卸载(可选)

如果之前安装过旧版本的Docker,可以使用下面命令卸载:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

1.2.安装docker

首先需要大家虚拟机联网,安装yum工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken  

然后更新本地镜像源:

# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

然后输入命令:

yum install -y docker-ce

docker-ce为社区免费版本。稍等片刻,docker即可安装成功。

1.3.启动docker

Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!

启动docker前,一定要关闭防火墙后!!

启动docker前,一定要关闭防火墙后!!

启动docker前,一定要关闭防火墙后!!

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

通过命令启动docker:  

systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

然后输入命令,可以查看docker版本:

docker -v

如图:

 

1.4.配置镜像加速

docker官方镜像仓库网速较差,我们需要设置国内镜像服务:

参考阿里云的镜像加速文档:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/637385.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

趣味科普:智慧采煤可视化

智慧采煤可视化系统通过趣味动画展示智能采矿技术,包括设备运作、矿井安全和环境保护等。

应急救援前突通信保障车技术详解

一、引言 随着现代社会的高速发展,各种自然灾害和突发事件频发,对人们的生命财产安全构成了严重威胁。应急救援前突通信保障车作为一种快速响应、高效部署的通信保障装备,在应急救援领域发挥着越来越重要的作用。本文将从当前形势的紧迫性、…

网络安全的重要组成部分:数据库审计

数据库审计(简称DBAudit)以安全事件为中心,以全面审计和精确审计为基础,实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行实时告警。它通过对用户访问数据…

Centos 7 上安装【Docker】

安装Docker(Centos 7) 1.1.卸载(可选) 如果之前安装过旧版本的Docker,可以使用下面命令卸载: ***注意:***若提示[您需要 root 权限 执行此命令]需要在命令前加上sudo yum remove docker \do…

09.自注意力机制

文章目录 输入输出运行如何运行解决关联性attention score额外的Q K V Multi-head self-attentionPositional EncodingTruncated Self-attention影像处理vs CNNvs RNN图上的应用 输入 输出 运行 链接(Attention Is All You Need) 如何运行 解决关联性 a…

Vue基础(1)数据绑定

一. 文本插值 普通文本可以使用双大括号 {{ }} &#xff0c;要想插入 HTML&#xff0c;需要使用 v-html 指令。 <template><h1>Message: {{ state.msg }}</h1><p>{{ state.count 1 }}</p><p>{{ state.rawHtml }}</p><p v-html…

Java编程语言,使用自定义二元组对象替代map集合实现Key-Value格式的数据存储

一、背景 url请求地址&#xff0c;后面使用&把多个请求参数拼接起来&#xff0c;例如&#xff1a;?p1v1&p2v2&p3v3 它们的key分别是p1/p2/p3&#xff0c;对应的value分别是v1/v2/v3。 也许很多人都会通过map集合来存储&#xff0c;算比较通用的做法了&#xff1…

Windows:iHasher-v0.2安装报错Windows 功能 .NET Framework 3.5

一、情景描述 我们从MSDN下载了镜像文件&#xff0c;一般要验证下载文件的HASH值是否与MSDN上发布的一致&#xff0c;确保传出过程中iso文件没有损坏。 MSDN地址&#xff1a;https://msdn.itellyou.cn/ 我从MSDN下载了Hasher工具&#xff0c;进行校验。 但是&#xff0c;安装…

有道:一季度业绩超市场预期,生成式AI商业化落地进程加快

5月23日&#xff0c;教育科技公司网易有道&#xff08;NYSE&#xff1a;DAO&#xff09;公布了2024年第一季度未经审计的财务报告。报告期内&#xff0c;受益于“AI”加“教育”双轮驱动&#xff0c;业绩表现超市场预期&#xff0c;业务健康度大幅改善。 财报显示&#xff0c;…

筛斗数据提取:如何保证数据精准提取与合规性并存

数据治理的艺术&#xff1a;精准提取与合规性并存 在当今信息化高速发展的时代&#xff0c;数据已成为企业最宝贵的资源之一。然而&#xff0c;如何有效管理和利用这些数据&#xff0c;确保数据的精准提取和合规性并存&#xff0c;已成为企业面临的重要挑战。本文将从数据治理…

Git远程控制

文章目录 1. 创建仓库1.1 Readme1.2 Issue1.3 Pull request 2. 远程仓库克隆3. 推送远程仓库4. 拉取远程仓库5. 配置Git.gitignore配置别名 使用GitHub可以&#xff0c;采用Gitee也行 1. 创建仓库 1.1 Readme Readme文件相当于这个仓库的说明书&#xff0c;gitee会初始化2两份…

git的使用之筛选文件上传到远程服务器仓库

.gitignore 让本地文件有选择上传到远程服务器仓库 下面是linux内核的.gitignore # # NOTE! Dont add files that are generated in specific # subdirectories here. Add them in the ".gitignore" file # in that subdirectory instead. # # NOTE! Please use gi…

Flutter容器

内边距padding class MyBody extends StatelessWidget {overrideWidget build(BuildContext context) {return Container(//为了可以看出内边距&#xff0c;将容器设置成红色color: Colors.red,child: Padding(padding: EdgeInsets.all(15),child: MyImage(https://raw.github…

BioTech - 蛋白质结构评估指标的计算方法 (Python 源码) 支持 TMScore\RMSD\DockQ 等

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/139174635 CASP15 中 T1124 的 目标结构(上) 与 预测结构(下) 蛋白质结构评估是生物信息学和结构生物学中的一个重要环节,涉及使用一系列的计算方法来分析预…

【linux-IMX6ULL-字符设备驱动简单框架实验】

目录 1. 字符设备驱动简介1.1 重要函数1.2 简单框架代码流程1.3 linux中关于驱动的重要命令 2. 字符设备驱动简单框架编写2.1 添加LICENSE信息2.2 驱动模块的入口与出口2.3 入口和出口函数的编写2.4 设备操作结构体定义2.4.1 结构体函数内容填充 3. 应用程序简介&#xff1a;4.…

Python正则表达式与Excel文件名批量匹配技术文章

目录 引言 正则表达式基础 Python中的re模块 Excel文件名批量匹配案例 常见问题与解决方案 结论 引言 在现代办公环境中&#xff0c;Excel文件几乎成为了数据分析和处理的标配工具。由于Excel文件可能包含大量的数据和信息&#xff0c;因此&#xff0c;对Excel文件的命名…

16 _ WebAPI:setTimeout是如何实现的?

在上一篇文章中我们介绍了页面中的事件和消息队列&#xff0c;知道了浏览器页面是由消息队列和事件循环系统来驱动的。 那在接下来的两篇文章中&#xff0c;我会通过setTimeout和XMLHttpRequest这两个WebAPI来介绍事件循环的应用。这两个WebAPI是两种不同类型的应用&#xff0…

嵌入式岗位,你有能力,你同样可以拿到高薪资

在开始前刚好我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01; 就算你进去了&#xff0…

分布式限流总结

1、计数器 java内部可以使用原子计数器AtomicInteger\Semaphore信号量来做简单的限流 // 限流的个数private int maxCount 10;// 指定的时间内private long interval 60;// 原子类计数器private AtomicInteger atomicInteger new AtomicInteger(0);// 起始时间private lon…

【译】组复制和 Percona XtraDB 集群: 常见操作概述

原文地址&#xff1a;Group Replication and Percona XtraDB Cluster: Overview of Common Operations 在这篇博文中&#xff0c;我将概述使用 MySQL Group Replication 8.0.19&#xff08;又称 GR&#xff09;和 Percona XtraDB Cluster 8 (PXC)&#xff08;基于 Galera&…