# 1. 在能上网的机器下载二进制包(AARCH64)
wget https://download.docker.com/linux/static/stable/aarch64/docker-24.0.2.tgz

# 2. 传输到openEuler服务器(例如通过scp)
# 3. 在openEuler上执行
tar -zxvf docker-24.0.2.tgz
sudo cp docker/* /usr/bin/

# 4. 创建systemd服务文件
sudo tee /etc/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
Restart=on-failure
StartLimitInterval=0
RestartSec=1

[Install]
WantedBy=multi-user.target
EOF

# 5. 启动服务
sudo systemctl daemon-reload
sudo systemctl enable docker
sudo systemctl start docker

✅ 验证安装结果

$ docker version
Client: Docker Engine - Community
 Version:           24.0.2
 API version:       1.43
 Go version:        go1.20.6
 Git commit:        ced0996
 Built:             Mon Jun  5 22:28:14 2023
 OS/Arch:           linux/arm64
 Context:           default
 Server: Docker Engine - Community
 Engine:
  Version:          24.0.2
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.6
  Git commit:       ced0996
  Built:            Mon Jun  5 22:27:50 2023
  OS/Arch:          linux/arm64
  Experimental:     false
 containerd:
  Version:          1.6.21
  GitCommit:        3061f73c6b44e50d6b3b9d36d9a725d5d43336d2
...

在这里插入图片描述


现在你想将 Docker 的工作目录(比如镜像、容器、卷等数据)从默认的 /var/lib/docker 改为 /home/docker。

⚠️ 注意:你提到“把 docker 目录设置到 /home”,通常指的是 Docker 的数据根目录(data-root),而不是可执行文件的位置(那些你已经复制到 /usr/bin/ 了,不需要动)。

✅ 正确做法:修改 Docker 的 data-root

  1. 停止 Docker 服务

sudo systemctl stop docker

  1. 迁移现有数据(可选,如果你已有容器/镜像)

如果你之前已经拉取过镜像或创建过容器,需要把旧数据迁移到新位置:

sudo rsync -aqxP /var/lib/docker/ /home/docker/

如果你是全新安装、还没用过 Docker,可以跳过这步。

  1. 创建或修改 Docker 配置文件

Docker 的配置通常放在 /etc/docker/daemon.json。创建它(如果不存在):

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
“data-root”: “/home/docker”
}
EOF

  1. (可选)清理旧目录(确认新位置工作正常后再删)

暂时不要删!先验证 Docker 能正常运行
sudo rm -rf /var/lib/docker

  1. 重新启动 Docker

sudo systemctl start docker

  1. 验证是否生效

docker info | grep “Docker Root Dir”

你应该看到输出:

Docker Root Dir: /home/docker

同时可以检查 /home/docker 下是否生成了子目录(如 containers, image, volumes 等)。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐