首页 > 其他分享 >新机器安装docker (新手笔记)-- 知其所以然

新机器安装docker (新手笔记)-- 知其所以然

时间:2024-03-28 21:45:18浏览次数:19  
标签:-- sudo apt etc keyrings docker Docker 知其所以然

1.安装Docker - 2024.03.28

官方手册
清华大学开源软件镜像站 | 可从主页找到Docker资源

# Add Docker's official GPG key:
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

# Add the repository to Apt sources:
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

# 创建Docker群组,方便非root用户使用Docker命令
cat /etc/group | grep docker # 检查docker用户组是否存在
# sudo groupadd docker # 不存在则创建,一般正常都是存在的。
sudo usermod -aG docker uName # 添加用户uName到docker用户组,这个用户以后使用docker就不用每次都敲sudo了

# exec su -l uName # 立即应用用户组的更改。(启动一个新的登录shell进程,加载新组信息)

注:
这是一系列命令,用于在Ubuntu Linux上安装Docker并添加Docker官方的GPG密钥以及将其存储库添加到APT源列表中。以下是每个命令的解释:

  1. sudo apt-get update:
    • 这是一个包管理命令,用于更新本地APT包存储库的信息,以确保它包含最新可用的软件包信息。
  2. sudo apt-get install ca-certificates curl:
    • ca-certificates(用于证书管理)
      • 包含了众多受信任的根证书颁发机构(Root Certificate Authority)的证书。这些证书用于启用安全的 HTTPS 连接,防止中间人攻击。
      • 当你使用像 curlaptwget 这样的工具从 internet 下载内容时,系统会使用这些证书来验证下载内容的真实性。
    • curl(用于下载文件)
      • 用于从服务器传输数据。它支持多种协议,包括 HTTP、HTTPS、FTP 等。
      • curl 可用于下载、上传文件,也可以用作一些 web 服务的客户端。
  3. sudo install -m 0755 -d /etc/apt/keyrings
    • 这个命令创建了一个目录/etc/apt/keyrings,用于存储APT存储库的密钥环(keyrings)。
    • install:通常用于安装文件或创建目录。
    • -m 0755:设置目录权限为 0755;-d:表示要创建一个目录,而不是安装一个文件。
  4. sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc:
    • 从 Docker 的下载网站下载一个 GPG 密钥文件,并将其保存到 /etc/apt/keyrings/docker.asc 这个路径中。
    • 安装时需将https://download.docker.com/linux/ubuntu/gpg替换为国内源
  5. sudo chmod a+r /etc/apt/keyrings/docker.asc:
    • 这个命令更改/etc/apt/keyrings/docker.gpg文件的权限,使其可读(readable)。
    • a+r 这是权限修改的参数:
      • a 表示 "all",即所有用户类型(所有者、组和其他用户)。
      • +r 表示为指定的用户类型添加读(r)权限。
  6. 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:
    • 构造一个指向 Docker 官方 APT 源的源字符串,其中包括了系统架构、GPG 密钥和 Ubuntu 版本。
    • 使用 sudo tee 将这个源字符串写入到 /etc/apt/sources.list.d/docker.list 文件中。
  7. 最后的 sudo apt-get update:
    • 这是再次运行apt-get update以刷新APT存储库信息,这次将包括新添加的Docker存储库。

这些命令的目的是准备系统以安装Docker并确保从Docker官方源获取Docker软件包时进行适当的验证和安全性。安装完成后,你可以使用sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin来安装Docker服务。

查看版本号:

docker version

# 如果客户端和服务端都有显示说明安装成功。

标签:--,sudo,apt,etc,keyrings,docker,Docker,知其所以然
From: https://www.cnblogs.com/xing11/p/18102685

相关文章

  • 文本数据读取
    文本数据读取在自然语言处理的第一步,要面对的是各种各样以不同形式表现的文本数据,比如,有的是纯txt文档,有的是存储在Excel中的表格数据,还有的是无法直接打开的pkl文件等。刚开始接触编程的同学在这里就犯难了,这可怎么把文本数据拿来进行代码层面的操作呢?事实上,会者不难,针对......
  • yolov部署到app
    今天把模型部署到app上        ......
  • 2024-03-28
    2024-03-28\({\color{Red}\Large到成都集训来了!}\)晚上自习YY的GCD\({\color{Chocolate}Problem}\)\(i\in[1,n],j\in[1,m]\\\m,n\le10^7\),\(T\le10^4\)组询问,求\(\gcd(i,j)\)是素数的\((i,j)\)对数\({\color{Chocolate}Solution}\)\[\begin{align*}......
  • Kirill and Mushrooms
    原题链接题解1.选k个数,就会有k-1个数没法选。我们可以倒着来,每少选一个数,就会多一个数可以选,添加总比删除简单2.最小的那个数,也就是第k小的数,因此我们可以维护一个大小为k的优先队列,最小值就是队首元素code#definelllonglong#include<bits/stdc++.h>usingnamespacest......
  • kafka维护
    1,检测参考:https://kafka-python.readthedocs.io/en/master/apidoc/KafkaClient.htmlfromkafka.adminimportKafkaAdminClient,NewTopicfromkafkaimportKafkaProducerfromkafkaimportKafkaConsumerfromkafkaimportKafkaClientimporttime#配置Kafka集群信息......
  • 03
    [一]基本数据类型【1】学习变量的目的学习变量有助于我们在程序中存储和操作数据,提高代码的灵活性和可维护性。通过使用变量,我们可以方便地引用和修改数据,使得程序能够动态地响应不同的输入和条件。【2】学习基本数据类型的目的学习基本数据类型有助于我们理解不同类型的......
  • Ubuntu22.04下Issac Gym/宇树机器人RL&gcc/g++,CUDA,CUDA ToolKit,Pytorch配置环境配
    前置条件本随笔写作Condition:在本人3050Ti笔记本上配好环境后,再在室友4060笔记本上边配边记录整理所得。室友的系统已经配好了相应驱动,因此,本随笔内容基于已经安装了NVIDIA显卡驱动的系统。下次搞到没装驱动的系统我再补一个随笔。宇树机器人宇树科技的文档中心有一个简单的安......
  • 硬件组成-CPU-编码-浮点数
    计算机的基本硬件系统由运算器、控制器、存储器、输入设备和输出设备5大部件组成。运算器、控制器等部件被集成在一起统称为中央处理单元(CPU)。CPU是硬件系统的核心,用于数据的加工处理,能完成各种算术、逻辑运算及控制功能。存储器是计算机系统中的记忆设备,分为内部存储器和......
  • 滴滴驾龄不够干货满满注册难题滴滴驾龄不满三年怎么办
    滴滴出行作为一家知名的网约车平台,对于司机的注册要求是比较严格的,其中包括对驾龄的要求。根据滴滴平台的规定,如果注册不通过,你可以尝试联系《网约二哥》公众号的客服人员,询问具体原因并寻求帮助。他们通常能够提供详细的指导和解决方案。司机通常需要具备一定的驾龄,即持有......
  • 【selinux】linux的信息安全模块 - selinux
    1.Selinux简介selinux全称(Security-EnhancedLinux)安全增强型Linux,它是一个Linux内核模块,也是Linux的一个安全子系统。2.Selinux的作用及权限管理机制2.1Selinux的作用SELinux主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。2.2DAC在没有使用SE......