linux 下安装 docker

本文记录在 linux 安装 docker,并进行配置

安装 docker

使用 apt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 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

# 安装
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

使用该方法可能由于网络问题,导致下载缓慢,可以通过设置阿里镜像加速 [1]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 更新软件包索引
sudo apt-get update

# 安装需要的软件包以使apt能够通过HTTPS使用仓库
sudo apt-get install ca-certificates curl gnupg lsb-release

# 添加Docker官方的GPG密钥
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# 设置稳定版仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 添加阿里云官方GPG密钥
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 写入阿里云Docker仓库地址
sudo sh -c 'echo "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list'

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

# 验证是否成功安装了docker
sudo systemctl status docker
docker --version

使用 deb [2]
直接下载 deb 后,使用以下命令安装

1
2
sudo apt-get update
sudo apt-get install ./docker-desktop-amd64.deb

配置 docker 代理

由于 docker hub 被墙,导致多次拉取镜像无效,此时需要设置代理才可以进行,代理工具为 trojain-1.16.0-linux-amd64.tar.xz,解压后开启代理服务

1
./trojain

然后编辑 /etc/systemd/system/docker.service.d/http-proxy.conf ,写入以下内容:

1
2
3
4
[Service]
Environment="HTTP_PROXY=socks5://IP:port"
Environment="HTTPS_PROXY=socks5://IP:port"
Environment="NO_PROXY=localhost,127.0.0.1,registry.onlymin.com,reg.onlymin.com"

配置 docker 普通用户权限 [3]

docker 安装后会默认创建 docker 组,不在 docker 组内的成员无法执行 docker 命令,以下是将普通用户添加到 docker 组的过程

1
2
3
4
5
6
7
8
# 查看是否存在docker组
sudo cat /etc/group | grep docker

# 查看某个用户所属组
id wushaogui

# 将普通用户添加到docker组
sudo gpasswd -a wushaogui docker

参考:


  1. ubuntu 20.04 国内源安装 docker - lqqgis - 博客园 ↩︎

  2. Ubuntu | Docker Docs ↩︎

  3. docker 不用 root 权限也能执行 - 普通用户的权限设置_docker 普通用户权限 - CSDN 博客 ↩︎