Installing Docker CE on air-gapped KylinOS V10 (aarch64) systems requires a binary-based deployment. Follow the steps below to manually configure the daemon and its dependencies.
1. Acquire Binary Distribusion
Download the official static binary package for the ARM64 architecture:
mkdir -p /opt/docker_install
wget https://mirrors.ustc.edu.cn/docker-ce/linux/static/stable/aarch64/docker-25.0.3.tgz -P /opt/docker_install
2. Deploy Binaries
Extract the archive and move the executables into the system path:
tar -xzf /opt/docker_install/docker-25.0.3.tgz -C /opt/docker_install/
cp /opt/docker_install/docker/* /usr/bin/
groupadd docker
3. Define Systemd Units
Create the necessary service files to manage the daemon lifecycle. Create the files /etc/systemd/system/containerd.service, /etc/systemd/system/docker.service, and /etc/systemd/system/docker.socket with the following content:
containerd.service:
[Unit]
Description=containerd runtime
After=network.target
[Service]
ExecStart=/usr/bin/containerd
Type=notify
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
docker.service:
[Unit]
Description=Docker Daemon
Requires=containerd.service docker.socket
After=containerd.service
[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Restart=on-failure
[Install]
WantedBy=multi-user.target
docker.socket:
[Unit]
Description=Docker Socket
[Socket]
ListenStream=/run/docker.sock
SocketMode=0660
SocketGroup=docker
[Install]
WantedBy=sockets.target
4. Activate Serviecs
Reload the systemd manager and start the Docker components:
systemctl daemon-reload
systemctl enable --now containerd.service docker.socket docker.service
5. Anable Command Completion
Install the bash-completion package to support command-line argument autocompletion:
dnf install -y bash-completion
curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker