ubuntu 安装 docker 记录

ops/2024/11/26 14:47:16/
本文假设系统为 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.ppmy.cn/ops/136848.html

相关文章

2024亚太杯国际赛C题宠物预测1234问完整解题思路代码+成品参考文章

中国宠物业发展趋势及预测模型 一、问题背景与研究目标 近年来,中国宠物业经历了快速发展,特别是在城市化进程加快、人口结构变化和消费水平提升的背景下,宠物作为家庭成员的角色变得愈发重要。根据相关数据,中国宠物数量&#…

PPT分享 | IBM集团业务流程架构顶层规划-订单到交付-销售到回款方案

PPT下载链接见文末~ IBM业务流程规划方法是一套结构化、体系化的流程设计理论,其企业流程框架(EPF)是一种用于企业业务流程架构设计梳理的方法论。 一、IBM业务流程规划方法的核心 IBM的BPM(业务流程管理)流程管理体…

kali安装及使用docker和docker-compose

安装docker及docker-compose: (这里我之前安装过了,借用别人的教程来讲解) 更新可用软件包: apt-get update 开始安装docker: apt install docker.io 如果有让确认的,输入 y 即可&#xff1a…

亲测解决Unpack operator in subscript requires Python 3.11 or newer

这个问题是在小虎想提前定义一个list,然后作为index list来调用另一个list里面的变量出现的问题。 环境 Ubuntu 22.04 + python 3.10 故障代码示例 NoneList = [None] * opt.spatial_dims TargetMask = Target[i] == torch.arange(1

Unity 导出 xcode 工程 并给 Info.plist 文件添加字段

Unity 导出 xcode 工程 并给 Info.plist 文件添加字段 在 Editor 文件夹下新建 xxx.cs 脚本 实现静态方法 [PostProcessBuild]public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject){// Unity 导出 Xcode 工程自动调用这个方法 }例子 一 us…

赛氪媒体支持“2024科普中国青年之星创作交流活动”医学专场落幕

2024年11月15日下午,由中国科普作家协会、科普中国发展服务中心主办,什刹海文化展示中心承办,并携手国内产学研一体融合领域的领军者——赛氪网共同支持的“2024科普中国青年之星创作交流活动”医学科普专场,在什刹海文化展示中心…

全面解读RuoYi 系列项目不同版本与应用场景

目录 前言1. RuoYi 系列简介2. RuoYi 系列版本解析2.1 RuoYi(单体版)技术特点:适用场景:优点:局限性: 2.2 RuoYi-Vue(前后端分离版)技术特点:适用场景:优点&a…

CPU性能优化--性能分析方法

由于linux perf是非常流行的性能分析工具,因此本书使用该工具。该工具在绝大部分linux发行版本中都可以使用,这使得他的用户覆盖范围很广,此外,该工具是开源的。用户可以通过它了解典型剖析工具内部运行机制。这对理解本书讲到的概…