Docker/Podman 安装与换源

Docker / Podman 的安装与换源

Docker 安装

Docker CLI(Linux)

  • 如果你发行版的仓库中有(比如 Arch),那直接用包管理器安装就行了。
  • 如果仓库中没有,(并且没有网络问题的话)请查看官方文档安装。推荐使用其中的安装脚本。
  • 需要注意的是,Debian系(包括Ubuntu等)仓库中的 Docker 并不是我们要用的,也请查看官方文档安装。

国内安装 Docker 时最好也先换源,整个安装流程请查看:Docker CE 软件仓库镜像使用帮助

其中的 自动安装脚本 是(302智能选择):

1
2
3
4
5
export DOWNLOAD_URL="https://mirrors.cernet.edu.cn/docker-ce"
# 如您使用 curl
curl -fsSL https://get.docker.com/ | sudo -E sh
# 如您使用 wget
wget -O- https://get.docker.com/ | sudo -E sh

镜像同步状态查看:docker-ce - 校园网联合镜像站

Docker Desktop(Windows & Mac OS & Linux)

Docker Desktop 是 Docker 官方提供了一个 GUI 管理工具,支持 Windows & Mac OS & Linux。

Docker 使用了 Linux 内核的一些特性,在 Windows & Mac OS 上使用需要虚拟机内运行(比如 Windows 上的 Docker 就是通过 WSL 实现的)。这两个平台一般会安装 Docker Desktop,帮你自动化安装,比较省心。

Docker 官网就有,国内下载困难的话,镜像站里也是有的:Docker - 校园网联合镜像站

Linux 上就算了,占用太高了(虽然 Windows 和 Mac OS 也是),真喜欢这种“面板”不如用 Portainer。

其他平台安装

请看 官方文档

Podman 安装

Podman 是 Redhat 开发的 “Docker 替代品”。它是 rootless 的(具体可看官网介绍),并且无需后台运行守护进程。
Podman 用法和 Docker 基本上一样,甚至官方文档里说习惯 docker 的可以直接 alias docker=podman。😂

Podman CLI (Linux)

Podman 因为是 Redhat 推出的,主流发行版的仓库基本都是有的,包管理器直接安装即可。

没有可以直接去 Podman 官网下载。

Podman Desktop(Windows & Mac OS & Linux)

与 Docker 类似,Podman 也提供了官方的 GUI 管理工具,还支持 Docker 管理,也是支持 Windows & Mac OS & Linux。

可以直接去 PodmanPodman Desktop 官网下载。

具体实现和 Docker 类似,Windows 和 Mac OS 上也是虚拟机。
但 Windows 端的感觉明显要比 Docker Desktop 轻量。Linux端就是一个独立的小工具。

rootless 现在 Docker 也有办法实现。但 rootless 说是更安全,但是对我来说反倒会带来不方便,比如跑个 nginx 需要 80、443 ,普通用户没有权限创建,root/sudo 创建了之后普通用户又看不见这个容器。安全和便利有时候是冲突的。

Docker Hub 仓库镜像

国内有很多 Docker 镜像,但有很多已经停止维护或不再免费开发,比如中科大的已停止校外访问,docker-cn的、腾讯云的等都不能用了。看到还在说这些的相关文章/教程请直接略过。

除了下方的几个,还可以使用阿里云的,但是需要自己去 容器镜像服务 创建专属镜像仓库。当然肯定还有,欢迎评论中提交。

Docker

打开或新建 /etc/docker/daemon.json,添加:

1
2
3
4
5
6
7
8
9
{
	"registry-mirrors": [
		"https://docker.nju.edu.cn",
		"https://docker.mirrors.sjtug.sjtu.edu.cn",
		"https://hub-mirror.c.163.com",
		"https://mirror.baidubce.com",
		"https://dockerproxy.com"
	]
}

Podman

打开 /etc/containers/registries.conf 或新建 /etc/containers/registries.conf.d/docker-mirrors.conf,在末尾添加加:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
unqualified-search-registries = ["docker.io"]

[[registry]]
location = "docker.io"

[[registry.mirror]]
location = "docker.nju.edu.cn"
[[registry.mirror]]
location = "docker.mirrors.sjtug.sjtu.edu.cn"
[[registry.mirror]]
location = "hub-mirror.c.163.com"
[[registry.mirror]]
location = "mirror.baidubce.com"
[[registry.mirror]]
location = "dockerproxy.com"