【Linux】Linux下安装Docker(图文解说详细版)

news2024/11/30 12:37:26

文章目录

  • 一、前言
  • 二、Docker的三要素
    • Docker镜像
    • Docker仓库
    • Docker容器
  • 三、Docker的安装
    • 1. 确定Linux版本
    • 2.安装Docker
    • 3.测试是否安装成功
    • 4.配置下载docker镜像的仓库
    • 5.测试HelloWorld镜像

一、前言

  • Docker是近年来新兴的虚拟化工具,它可以和虚拟机一样实现资源和系统环境的隔离。
  • Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。
  • Docker 的基础是 Linux 容器(LXC)等技术。
  • Docker官网链接: https://docs.docker.com/

二、Docker的三要素

Docker镜像

  • Docker 镜像就是一个只读的模板。

例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。

  • 镜像可以用来创建 Docker 容器。

Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其人那里下载一个已经做好的镜像来直接使用。

Docker仓库

  • 仓库是集中存放镜像文件的场所。
  • 有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。
  • 仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
  • 最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。
  • 当然,用户也可以在本地网络内创建一个私有仓库。
  • 当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

Docker容器

  • Docker 利用容器来运行应用。
  • 容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。
  • 可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。
  1. 提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境
  2. 提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容
  3. 组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构

三、Docker的安装

以centOS stream 8系统为例~

1. 确定Linux版本

新版本的Docker对Linux系统版本有一定的要求。如果Linux的发行版系统是centOS,安装最新版的docker需要centOS 7以上的系统。

  • 在Docker安装帮助页面查看支持的系统版本。

    Docker帮助页面:https://docs.docker.com/engine/install/centos/
    在这里插入图片描述

  • 打开terminal,输入cat /etc/os-release查看系统信息。

  • 确保自己的系统满足安装要求。

[root@myfirstECS-linux ~]# cat /etc/os-release
NAME="CentOS Stream"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Stream 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"

2.安装Docker

官网提供的软件源速度比较慢,这里使用阿里云的软件源。
在这里插入图片描述

  • step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  • Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • Step 3: 更新yum索引列表并安装Docker引擎
sudo yum makecache fast

yum索引列表没有更新可以直接使用yum makecache

sudo yum install docker-ce

安装过程中会提示确认,输入y以确认。

在这里插入图片描述

  • Step 4: 开启Docker服务
sudo service docker start

3.测试是否安装成功

在Terminal中输入docker version,安装成功会提示以下信息。

[root@myfirstECS-linux ~]# docker version
Client: Docker Engine - Community
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:45:22 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:43:44 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

4.配置下载docker镜像的仓库

docker的默认仓库Docker Hub下载速度在国内是很慢的,需要我们替换为阿里云的仓库。

  • 打开阿里云的官网,搜索容器,找到容器与镜像服务。

在这里插入图片描述

  • 进入容器与镜像服务页面,点击镜像加速器。

在这里插入图片描述

  • 依据页面的提示,在Terminal中输入以下指令:

  • 这里注意registry-mirrors的地址每个人都是不一样的,要查看页面上显示的地址。

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

5.测试HelloWorld镜像

在Terminal中输入docker run hello-world。

在这里插入图片描述

看到 Hello from Docker! 字段说明我们的安装步骤没有问题,Docker已经成功安装~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【教程】用 HTML JavaScript 制作 2.5D 迷宫游戏地图

我写了一个能够随机生成迷宫的算法&#xff0c;得到了用户很好的反响&#xff0c;对大家有所帮助。我现在想将这个迷宫以2.5D游戏地图的方式呈现出来。最初我考虑使用CSS来实现这个目标&#xff0c;但效果并不太理想&#xff0c;因为我无法只将它渲染成背景&#xff0c;而不对整…

洛谷B2096 直方图

直方图 题目描述 给定一个非负整数数组&#xff0c;统计里面每一个数的出现次数。我们只统计到数组里最大的数。 假设 F m a x &#xff08; F m a x ≤ 100000 &#xff09; Fmax&#xff08;Fmax \le 100000&#xff09; Fmax&#xff08;Fmax≤100000&#xff09;是数组…

scratch绘制直尺 中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析2023年3月

目录 scratch绘制直尺 一、题目要求 1、准备工作 2、功能实现 二、案例分析

NSSCTF之Misc篇刷题记录⑨

NSSCTF之Misc篇刷题记录⑨ [GKCTF 2021]签到[NISACTF 2022]bmpnumber[领航杯江苏省赛 2021]签到题[鹤城杯 2021]Misc2[鹤城杯 2021]A_MISC[GXYCTF 2019]CheckIn[HDCTF 2023]hardMisc[NSSRound#1 Basic]cut_into_thirds[闽盾杯 2021]Modbus的秘密[NISACTF 2022]神秘数字[INSHack…

asp.net+C#超市商品进销存管理系统

本超市商品管理系统主要超市内部提供服务&#xff0c;系统分为管理员员工两部分。 本研究课题重点主要包括了下面几大模块&#xff1a;管用户登录&#xff0c;员工管理&#xff0c;商品管理&#xff0c;进货管理&#xff0c;销售管理&#xff0c;供应商信息&#xff0c;会员信…

2023年6月DAMA-CDGP数据治理专家认证考试,火热报名中

目前6月18日CDGA&CDGP考试目前开放的城市有&#xff1a;北京、上海、广州、深圳、长沙、呼和浩特、杭州、南京、济南、成都、西安、武汉、天津。 新增了武汉、天津这2个城市。另外合肥、厦门、长春等地区还在接近开考人数中&#xff0c;打算参加6月考试的朋友们可以抓紧时间…

前端HTML学习笔记(一)

1、基础知识 网页概述&#xff1a;1、HTML概念&#xff1a;HTML (Hyper Text Markup Language)中文译为超文本标记语言专门用于网页开发的语言&#xff0c;主要通过HTML标签对网页中的文本、图片、音频、视频等内容进行描述。2、网页通常由文字、图片、音频、视频、超链接等部…

Julia入门-0、在Windows下安装Julia

文章目录 0、前言1、相关网站2、Windows 系统下安装Julia3、Julia 交互式命令窗口 0、前言 Julia 是一个面向科学计算的高性能动态高级程序设计语言。 Julia 最初是为了满足高性能数值分析和计算科学的需要而设计的&#xff0c;不需要解释器&#xff0c;速度快。 1、相关网站…

C++类与对象Plus

我们之前讲的都是类与对象的基础&#xff0c;以及类中的几个默认函数等&#xff0c;今天我们就讲一下类与对象的其他东西 初始化列表 在我们的默认构造函数的时候&#xff0c;我们在初始化的时候我们都是在构造函数中完成我们的初始化任务 我们现在来看一个类 我们看一下我们…

基于 LSTM 进行多类文本分类( TensorFlow 2.0)

NLP 的许多创新是如何将上下文添加到词向量中。一种常见的方法是使用循环神经网络。以下是循环神经网络的概念&#xff1a; 他们利用顺序信息。他们可以捕捉到到目前为止已经计算过的内容&#xff0c;即&#xff1a;我最后说的内容会影响我接下来要说的内容。RNNs 是文本和语音…

mac下删除python3.7,并将版本更新到3.9

如何卸载python3.7 有些小伙伴想直接从3.7升级到3.9 那恐怕是不行的&#xff0c;python3.7的库占的空间不少&#xff0c;所以首先我们应该来删除它. python安装后的路径分类 在删除之前需要先了解&#xff1a;python安装后有几类路径需要我们去查看删除 python存储库路径&am…

【分组码系列】线性分组码的网格图和维特比译码

线性分组码的网格图 由于码字的比特位是统计独立的,所以编码过程可以利用有限状态机来描述,它能精确地确定初始和最终状态。可以利用网格图进一步描述编码过程[36],采用维特比算法进行最大似然译码. 在GF(2)上定义线性分组码(n,k)。相应的(n-k)Xn维校验阵可以写成 令码字为系…

TensorFlow vs PyTorch:哪一个更适合您的深度学习项目?

在深度学习领域中&#xff0c;TensorFlow 和 PyTorch 都是非常流行的框架。这两个框架都提供了用于开发神经网络模型的工具和库&#xff0c;但它们在设计和实现上有很大的差异。在本文中&#xff0c;我们将比较 TensorFlow 和 PyTorch&#xff0c;并讨论哪个框架更适合您的深度…

队列、栈专题

队列、栈专题 LeetCode 20. 有效的括号解题思路代码实现 LeetCode 921. 使括号有效的最少添加解题思路代码实现 LeetCode 1541. 平衡括号字符串的最少插入次数解题思路代码实现 总结 不要纠结&#xff0c;干就完事了&#xff0c;熟练度很重要&#xff01;&#xff01;&#xff…

icevision环境安装

Installation - IceVision # 1. git clone 代码# pip 换源&#xff1a; ~/.pip/pip.conf 隐藏文件[global] index-url https://pypi.tuna.tsinghua.edu.cn/simple [install] trusted-hostmirrors.aliyun.compip install -e .[all,dev]ImportError: cannot import name Multi…

chatgpt-4它的未来是什么?该如何应用起来?

在当今快节奏的数字通信世界中&#xff0c;ChatGPT已成为一个强大的在线聊天平台&#xff0c;改变了人们互动和沟通的方式。凭借其先进的AI功能、用户友好的界面和创新技术&#xff0c;ChatGPT已成为个人和企业的热门选择。 然而&#xff0c;ChatGPT的未来有望更加激动人心和具…

VSCode的安装以及相关插件配置

VSCode是什么&#xff1f; VSCode严格来说&#xff0c;也是一款编辑器&#xff0c;强大之处在于集成了各种各样的插件。至此往后&#xff0c;将使用VSCode来取代vim。话不多说&#xff0c;步骤如下&#xff1a; 安装步骤 1、VSCode的下载 https://vscode.cdn.azure.cn/stabl…

NSSCTF (3)

[GDOUCTF 2023]hate eat snake 我们打开js源码 很明显这里当score大于60会出flag score = getScore 我们寻找到了getScore方法所在的地方 之后发现他存在于Snake

Python多线程之_thread与threading模块

Python多线程之_thread与threading模块 在Python程序中&#xff0c;多线程的应用程序会创建一个函数&#xff0c;来执行需要重复执行多次的程序代码&#xff0c;然后创建一个线程执行该函数。一个线程是一个应用程序单元&#xff0c;用于在后台并行执行多个耗时的动作。 在多…

DBWeaver 连接H2数据库 详细教程

1.DBWwaver下载网址 https://github.com/dbeaver/dbeaver/releases 2. 软件安装 点击安装文件&#xff0c;一直下一步即可 3. DBWeaver连接H2数据库 3.1打开软件在搜索框里面输入&#xff1a;h2 3.2 查询到h2数据库 3.3 点击选中的数据库&#xff0c;出现这样的页面&#xf…