离线安装Docker(ARM服务器)

前言

下载

https://download.docker.com/linux/static/stable/aarch64/

这里下载

1
https://download.docker.com/linux/static/stable/aarch64/docker-25.0.5.tgz

安装

1
2
tar -xvf docker-25.0.5.tgz
sudo mv docker/* /usr/local/bin/

查看是否生效

1
docker -v

配置文件

1
2
3
mkdir -p /etc/docker
mkdir -p /data/tools/docker
vim /etc/docker/daemon.json

内容

1
2
3
{
"data-root": "/data/tools/docker"
}

创建用户

1
2
groupadd docker
useradd -g docker -s /sbin/nologin -M docker

将当前用户添加到docker组中

1
gpasswd -a $USER docker

更新docker组

1
newgrp docker

创建服务

docker.socket

1
vi /etc/systemd/system/docker.socket

内容

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Docker Socket for the API

[Socket]
ListenStream=/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target

containerd.service

1
2
3
mkdir -pv /run/containerd/

vi /etc/systemd/system/containerd.service

内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target

[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/containerd

Type=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5

LimitNPROC=infinity
LimitCORE=infinity
LimitNOFILE=infinity

TasksMax=infinity
OOMScoreAdjust=-999

[Install]
WantedBy=multi-user.target

docker.service

1
vi /etc/systemd/system/docker.service

内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket containerd.service

[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

StartLimitBurst=3

StartLimitInterval=60s

LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

TasksMax=infinity

Delegate=yes

KillMode=process
OOMScoreAdjust=-500

[Install]
WantedBy=multi-user.target

添加执行权限

添加可执行权限

1
2
3
chmod +x /etc/systemd/system/docker.socket
chmod +x /etc/systemd/system/containerd.service
chmod +x /etc/systemd/system/docker.service

服务自启动

1
systemctl enable --now docker.socket docker.service containerd.service

重启

1
2
3
systemctl stop docker.socket docker.service
systemctl daemon-reload
systemctl start docker

常用命令

1
2
3
4
5
systemctl stop docker.socket docker.service # 停止
systemctl daemon-reload # 加载docker.service
systemctl start docker # 启动docker
systemctl status docker # 查询docker当前状态
systemctl enable docker.service # 设置开机自动启动

查看配置

1
docker info