ubuntu 安装 docker 记录

news2024/11/27 2:29:47
本文假设系统为 Ubuntu,从 16.04 到 24.04,且通过 APT 命令安装。理论上也其他 Debian 系的操作系统。
WSL 也一样。

感觉 Docker 官方在强推 Docker Desktop,搜索 Docker 安装文档,一不小心就被导航到了 Docker Desktop 的安装页面。如果只是想安装 Docker-CE Server,文档在 https://docs.docker.com/engine/install/#server。

官方文档给出了几种安装方式,我最喜欢的是通过 APT 仓库安装,可以像管理系统上的其他软件包一样用 apt installapt upgradeapt remove 进行管理。但直接用 Docker 官方的 APT 仓库可能会下载很慢,幸好国内有镜像源。

安装

step 0. 安装设置仓库必须的工具

这些工具一般系统上都有,但还是确认一下比较好。

Ubuntu 16.04

sudo apt-get update && sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

Ubuntu 18.04 及以上

sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release

20.04以上快捷安装 sudo apt install docker.io 也是可行的

step 1. 添加阿里的 Docker 镜像仓库证书

Ubuntu 20.04 及以下

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

Ubuntu 22.04、24.04

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/aliyun-docker.gpg
如果 Ubuntu 22.04 还用  apt-key add 的方式添加证书在同步仓库信息时会有以下 warning:
Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

step 2. 添加仓库

Ubuntu 16.04

sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

Ubuntu 18.04 、20.04

sudo apt-add-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

Ubuntu 22.04、24.04

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/aliyun-docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

step 3. 安装

安装最新版的 docker-ce。

Ubuntu 16.04

sudo apt-get update
sudo apt-get install -y docker-ce

Ubuntu 18.04 及以上

sudo apt update
sudo apt install -y docker-ce

step 4. 启动

未开启 systemd 的 WSL 发行版

在 WSL 上,如果未开启 systemd,docker 不会自启动,每次都需要手动执行下面的命令。

sudo service docker start

其他系统

安装完就自己启动了,不需要任何操作。

step 5. 验证

sudo docker info

应该能看到当前安装的 Docker 信息。

基本配置

将当前用户添加到 docker 用户组

每次都用 sudo 执行 docker 命令也太麻烦了,可以将当前用户添加到 docker 用户组,以后就不需要 sudo 了。

sudo usermod -aG docker $USER
newgrp docker

如果报错说不存在 docker group,就先用下面的命令创建 docker group,然后再执行上面添加用户到组的命令。

sudo groupadd docker

配置 ustc 的 docker hub 镜像

国内的 docker hub 镜像都下架了。本段失效

执行 docker image pull 时默认会去 https://hub.docker.com/ 拖镜像,但网速可能会比较慢。可以配置国内的第三方 registry,他们会缓存用户拖过的镜像,下载会快很多。

在 /etc/docker/daemon.json 加入如下配置。

{
        "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}

ustc 的这个 registry 是我知道的唯一不需要申请账户的。如果你有其他 registry,也可以添加到上面的列表中。

不管在这个文件中写入了什么配置,都不会自动生效,一般都得重启。

Ubuntu 18.04 及以上

一般 ubuntu 系统都是使用 systemd 启动 docker,要执行下面的指令才能让上面的配置生效:
 

 sudo systemctl daemon-reload

 sudo systemctl restart docker

Ubuntu 16.04 或未开启 systemd 的 WSL

重启 docker 就行。

sudo service docker restart

20241125 目前可用docker镜像源


#镜像地址
{
    "registry-mirrors": [
        "https://ustc-edu-cn.mirror.aliyuncs.com/",
        "https://ccr.ccs.tencentyun.com/",
        "https://docker.m.daocloud.io/"
    ]
}

#修改后要重启

参考

  • Install Docker Engine on Ubuntu | Docker Documentation
  • docker-ce镜像_docker-ce下载地址_docker-ce安装教程-阿里巴巴开源镜像站 (aliyun.com)

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

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

相关文章

稀疏最大谐波噪声比解卷积算法MATLAB实战

稀疏最大谐波噪声比解卷积(SMHD)算法是一种信号处理方法,特别是在处理含有噪声和谐波分量的复杂信号时表现出色。在信号处理领域,经常需要从被噪声和谐波干扰的信号中提取出有用的信息。传统的解卷积方法可能需要预先设定故障周期…

UE5肉鸽游戏教程学习

学习地址推荐:UE5肉鸽项目实战教程_哔哩哔哩_bilibili

从Full-Text Search全文检索到RAG检索增强

从Full-Text Search全文检索到RAG检索增强 时光飞逝,转眼间六年过去了,六年前铁蛋优化单表千万级数据查询性能的场景依然历历在目,铁蛋也从最开始做CRUD转行去了大数据平台开发,混迹包装开源的业务,机缘巧合下做了实时…

Jmeter的组件执行顺序

在 Apache JMeter 中,组件的加载和执行顺序遵循一定的规则,但有些组件在同一层级中可能会根据它们在测试计划中的位置来决定具体的执行顺序。以下是这些组件的大致加载和执行顺序,以及哪些组件属于同一层级: 线程组(Th…

Flutter:启动屏逻辑处理02:启动页

启动屏启动之后&#xff0c;制作一个启动页面 新建splash&#xff1a;view 视图中只有一张图片sliding.png就是我们的启动图 import package:flutter/material.dart; import package:get/get.dart; import index.dart; class SplashPage extends GetView<SplashController…

分布式kettle调度平台v6.4.0新功能介绍

介绍 Kettle&#xff08;也称为Pentaho Data Integration&#xff09;是一款开源的ETL&#xff08;Extract, Transform, Load&#xff09;工具&#xff0c;由Pentaho&#xff08;现为Hitachi Vantara&#xff09;开发和维护。它提供了一套强大的数据集成和转换功能&#xff0c…

一个高度可扩展的 Golang ORM 库【GORM】

GORM 是一个功能强大的 Golang 对象关系映射&#xff08;ORM&#xff09;库&#xff0c;它提供了简洁的接口和全面的功能&#xff0c;帮助开发者更方便地操作数据库。 1. 完整的 ORM 功能 • 支持常见的关系模型&#xff1a; • Has One&#xff08;一对一&#xff09; • …

反向代理服务器的用途

代理服务器在网络中扮演着重要的角色&#xff0c;它们可以优化流量、保护服务器以及提高安全性。在代理服务器中&#xff0c;反向代理服务器是一种特殊类型&#xff0c;常用于Web服务器前&#xff0c;它具备多种功能&#xff0c;能够确保网络流量的顺畅传输。那么&#xff0c;让…

idea怎么打开两个窗口,运行两个项目

今天在开发项目的时候&#xff0c;前端希望运行一下以前的项目&#xff0c;于是就需要开两个 idea 窗口&#xff0c;运行两个项目 这里记录一下如何设置&#xff1a;首先依次点击&#xff1a; File -> Settings -> Appearance & Behavior ->System Settings 看到如…

2024亚太杯数学建模C题【Development Analyses and Strategies for Pet Industry 】思路详解

11.22日晚重磅更新&#xff01;&#xff1a;C题完整论文已出&#xff0c;代码及论文讲解视频&#xff1a; 2024APMCM亚太杯数学建模C题宠物行业原创论文及结果保姆级高质量教学&#xff01;_哔哩哔哩_bilibili C&#xff1a;宠物行业及相关产业的发展分析与战略 随着人们消费观…

SpringBoot(9)-Dubbo+Zookeeper

目录 一、了解分布式系统 二、RPC 三、Dubbo 四、SpringBootDubboZookeeper 4.1 框架搭建 4.2 实现RPC 一、了解分布式系统 分布式系统&#xff1a;由一组通过网络进行通信&#xff0c;为了完成共同的任务而协调工作的计算机节点组成的系统 二、RPC RPC&#xff1a;远程…

五种创建k8s的configMap的方式及configmap使用

configmap介绍 Kubernetes 提供了 ConfigMap 来管理应用配置数据&#xff0c;将配置信息从容器镜像中解耦&#xff0c;使应用更灵活、可移植。 1、基于一个目录来创建ConfigMap ​ 你可以使用 kubectl create configmap 基于同一目录中的多个文件创建 ConfigMap。 当你基于目…

(原创)Android Studio新老界面UI切换及老版本下载地址

前言 这两天下载了一个新版的Android Studio&#xff0c;发现整个界面都发生了很大改动&#xff1a; 新的界面的一些设置可参考一些博客&#xff1a; Android Studio新版UI常用设置 但是对于一些急着开发的小伙伴来说&#xff0c;没有时间去适应&#xff0c;那么怎么办呢&am…

贵州茅台[600519]行情数据接口

贵州茅台&#xff1a;实时行情 Restful API # 测试接口&#xff1a;可以复制到浏览器打开 https://tsanghi.com/api/fin/stock/XSHG/realtime?tokendemo&ticker600519获取股票实时行情&#xff08;开、高、低、收、量&#xff09;。 请求方式&#xff1a;GET。 Python示例…

MacOS系统上Jmeter 录制脚本遇到的证书坑位

一、JMeter介绍与安装 1&#xff0c;下载及安装 jmeter官网地址 二、录制百度链接https请求时&#xff0c;需要导入jmeter相关证书到macos系统的更目录中. 导入方式&#xff0c;直接拖入mac的系统中&#xff0c;始终新人就可以&#xff1b; 三、jmeter 创建相关的录制组件…

【ArcGISPro】Sentinel-2数据处理

错误 默认拉进去只组织了4个波段,但是实际有12个波段 解决方案 数据下载 Sentinel-2 数据下载-CSDN博客 数据处理 数据查看 创建镶嵌数据集 在数据管理工具箱中找到创建镶嵌数据集

音视频处理PCM相关概念:帧(Frame)、周期(Period Size)、量化、 声道数(Channels)、采样位数(Sample Bits)、采样频率

文章目录 引言I PCM相关图表原始模拟音频数据:模拟信息按照固定频率进行采样对采样后的数据选择合适精度进行量化PCM数据流II PCM相关概念采样频率:单位时间内对模拟信号的采样次数采样位数(Sample Bits)声道数(Channels)音频数据大小计算量化编码III 其他相关参数帧(Fra…

小米note pro一代(leo)线刷、twrp、magisk、TODO: android源码编译

本文主要说android5 整体思路 android 5.1 twrp magisk Zygisk(Riru) Dreamland(xposed) Riru不支持android5.1, 因此只能选择Zygisk : 如果你正在使用 Android 5&#xff0c;你必须使用 Zygisk 因为 Riru 并不支持 Android 5. 基于magisk之上的xposed 其中提到的 作者…

React表单联动

Ant Design 1、dependencies Form.Item 可以通过 dependencies 属性&#xff0c;设置关联字段。当关联字段的值发生变化时&#xff0c;会触发校验与更新。 一种常见的场景&#xff1a;注册用户表单的“密码”与“确认密码”字段。“确认密码”校验依赖于“密码”字段&#x…

【AIGC】如何准确引导ChatGPT,实现精细化GPTs指令生成

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: AIGC | 提示词Prompt应用实例 文章目录 &#x1f4af;前言&#x1f4af;准确引导ChatGPT创建爆款小红书文案GPTs指令案例&#x1f4af; 高效开发GPTs应用的核心原则明确应用场景和目标受众构建多样化风格模板提问与引…