如何使用预编译的二进制文件离线安装docker
·
如何使用预编译的二进制文件离线安装docker
最近的项目,需要部署在企业内网的ARM环境中,使用的是麒麟V10和飞腾CPU,需要部署docker环境。
整理了一下操作步骤。
下载预编译的二进制安装包
wget https://download.docker.com/linux/static/stable/x86_64/docker-26.1.4.tgz
wget -O docker-compose \
https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-linux-x86_64
将安装包解压后,上传到待安装的服务器中,在ARM上部署时需要下载对应的安装包。
ubuntu@ubuntu:~/app/docker$ ls
containerd containerd-shim-runc-v2 ctr docker docker-compose dockerd docker-init docker-proxy runc
ubuntu@ubuntu:~/app/docker$ scp * ubuntu@192.168.122.20:/home/ubuntu/setup
ubuntu@192.168.122.20's password:
containerd 100% 37MB 414.5MB/s 00:00
containerd-shim-runc-v2 100% 12MB 872.6MB/s 00:00
ctr 100% 18MB 884.3MB/s 00:00
docker 100% 37MB 671.1MB/s 00:00
docker-compose 100% 60MB 813.2MB/s 00:00
dockerd 100% 68MB 778.5MB/s 00:00
docker-init 100% 692KB 674.6MB/s 00:00
docker-proxy 100% 1934KB 633.9MB/s 00:00
runc 100% 15MB 747.4MB/s 00:00
ubuntu@ubuntu:~/app/docker$
开始安装
复制文件到/usr/local/bin,并确认程序有可执行权限
ubuntu@ubuntu:~/setup$ ll
total 255776
drwxrwxr-x 2 ubuntu ubuntu 4096 Dec 27 04:20 ./
drwxr-x--- 5 ubuntu ubuntu 4096 Dec 27 04:19 ../
-rwxr-xr-x 1 ubuntu ubuntu 39161856 Dec 27 04:20 containerd*
-rwxr-xr-x 1 ubuntu ubuntu 12496896 Dec 27 04:20 containerd-shim-runc-v2*
-rwxr-xr-x 1 ubuntu ubuntu 19361792 Dec 27 04:20 ctr*
-rwxr-xr-x 1 ubuntu ubuntu 38442504 Dec 27 04:20 docker*
-rwxrwxr-x 1 ubuntu ubuntu 63173250 Dec 27 04:20 docker-compose*
-rwxr-xr-x 1 ubuntu ubuntu 71297680 Dec 27 04:20 dockerd*
-rwxr-xr-x 1 ubuntu ubuntu 708448 Dec 27 04:20 docker-init*
-rwxr-xr-x 1 ubuntu ubuntu 1979949 Dec 27 04:20 docker-proxy*
-rwxr-xr-x 1 ubuntu ubuntu 15271888 Dec 27 04:20 runc*
ubuntu@ubuntu:~/setup$ ll /usr/local/bin
total 8
drwxr-xr-x 2 root root 4096 Sep 11 2024 ./
drwxr-xr-x 10 root root 4096 Sep 11 2024 ../
ubuntu@ubuntu:~/setup$ sudo cp * /usr/local/bin
ubuntu@ubuntu:~/setup$ ll /usr/local/bin
total 255776
drwxr-xr-x 2 root root 4096 Dec 27 04:23 ./
drwxr-xr-x 10 root root 4096 Sep 11 2024 ../
-rwxr-xr-x 1 root root 39161856 Dec 27 04:23 containerd*
-rwxr-xr-x 1 root root 12496896 Dec 27 04:23 containerd-shim-runc-v2*
-rwxr-xr-x 1 root root 19361792 Dec 27 04:23 ctr*
-rwxr-xr-x 1 root root 38442504 Dec 27 04:23 docker*
-rwxr-xr-x 1 root root 63173250 Dec 27 04:23 docker-compose*
-rwxr-xr-x 1 root root 71297680 Dec 27 04:23 dockerd*
-rwxr-xr-x 1 root root 708448 Dec 27 04:23 docker-init*
-rwxr-xr-x 1 root root 1979949 Dec 27 04:23 docker-proxy*
-rwxr-xr-x 1 root root 15271888 Dec 27 04:23 runc*
ubuntu@ubuntu:~/setup$ sudo chmod +x /usr/local/bin/*
ubuntu@ubuntu:~/setup$
目录准备
sudo mkdir -p /etc/docker
sudo mkdir -p /var/lib/docker
sudo mkdir -p /run/docker
将docker注册为服务
创建 docker.service
sudo vim /etc/systemd/system/docker.service
内容如下:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd \
--host=unix:///var/run/docker.sock \
--data-root=/var/lib/docker
ExecReload=/bin/kill -s HUP $MAINPID
Restart=always
RestartSec=5
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
重新加载并启动
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable docker
sudo systemctl start docker
验证安装结果
docker -v
docker-compose -v
systemctl status docker
ubuntu@ubuntu:~$ systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/etc/systemd/system/docker.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2025-12-27 04:31:40 UTC; 3s ago
Docs: https://docs.docker.com
Main PID: 3190 (dockerd)
Tasks: 17
Memory: 32.5M
CPU: 142ms
CGroup: /system.slice/docker.service
├─3190 /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --data-root=/var/lib/docker
└─3197 containerd --config /var/run/docker/containerd/containerd.toml
Dec 27 04:31:38 ubuntu dockerd[3197]: time="2025-12-27T04:31:38.788866020Z" level=info msg=serving... address=/var/ru>
Dec 27 04:31:38 ubuntu dockerd[3197]: time="2025-12-27T04:31:38.788882820Z" level=info msg=serving... address=/var/ru>
Dec 27 04:31:38 ubuntu dockerd[3197]: time="2025-12-27T04:31:38.788889758Z" level=info msg="containerd successfully b>
Dec 27 04:31:39 ubuntu dockerd[3190]: time="2025-12-27T04:31:39.767680352Z" level=info msg="detected 127.0.0.53 names>
Dec 27 04:31:39 ubuntu dockerd[3190]: time="2025-12-27T04:31:39.857511484Z" level=info msg="Loading containers: start>
Dec 27 04:31:39 ubuntu dockerd[3190]: time="2025-12-27T04:31:39.997925280Z" level=info msg="Loading containers: done."
Dec 27 04:31:40 ubuntu dockerd[3190]: time="2025-12-27T04:31:40.007374484Z" level=info msg="Docker daemon" commit=de5>
Dec 27 04:31:40 ubuntu dockerd[3190]: time="2025-12-27T04:31:40.007705360Z" level=info msg="Daemon has completed init>
Dec 27 04:31:40 ubuntu dockerd[3190]: time="2025-12-27T04:31:40.078253181Z" level=info msg="API listen on /var/run/do>
Dec 27 04:31:40 ubuntu systemd[1]: Started Docker Application Container Engine.
lines 1-22/22 (END)
ubuntu@ubuntu:~$ docker -v
Docker version 26.1.4, build 5650f9b
ubuntu@ubuntu:~$ docker-compose -v
Docker Compose version v2.29.2
ubuntu@ubuntu:~$
配置普通用户操作docker
sudo groupadd docker || true
sudo usermod -aG docker $USER
newgrp docker
ubuntu@ubuntu:~$ sudo groupadd docker || true
ubuntu@ubuntu:~$ sudo usermod -aG docker $USER
ubuntu@ubuntu:~$ newgrp docker
ubuntu@ubuntu:~$
ubuntu@ubuntu:~$ docker images
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.sock/_ping": dial unix /var/run/docker.sock: connect: permission denied
ubuntu@ubuntu:~$
出现上面的权限问题,可以重启服务即可解决
ubuntu@ubuntu:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu@ubuntu:~$
更多推荐
所有评论(0)