【鲲鹏服务器麒麟系统arm架构部署docker】

一、背景

客户更换了服务器,鲲鹏服务器,安装的麒麟系统,需要重新部署,由于使用的docker部署服务,所以需要在鲲鹏服务器上部署docker

二、麒麟系统arm架构部署docker

使用 Docker 官方静态二进制包部署在云服务器上成功,并且在客户服务器上也部署成功。

1.检查环境

  • 查看系统信息:Kylin V10
bash 复制代码
cat /etc/os-release
bash 复制代码
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Halberd)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Halberd)"
ANSI_COLOR="0;31"
字段 含义
NAME 系统名称(Kylin Linux Advanced Server)
VERSION 系统版本号(V10 Halberd,Halberd 是"戟"版)
ID 系统标识(kylin)
VERSION_ID 简化版号(V10)
PRETTY_NAME 完整可读的系统名称
ANSI_COLOR 控制台显示颜色(可忽略)
  • 查看cpu架构:鲲鹏ARM 64位架构
bash 复制代码
uname -m
bash 复制代码
aarch64
输出结果 含义
x86_64 说明是 Intel / AMD 64位架构
aarch64 说明是 ARM 64位架构(鲲鹏、飞腾、海光等)
armv7l 说明是 ARM 32位架构

2. 部署docker

1. 搭建测试环境:

由于客户服务器是离线,且自己不在现场,需要远程部署,并且好多镜像只有在arm架构上才能下载对应架构的镜像(比如在电脑windows(amd)上下载的镜像是amd的),所以为了快速部署,在阿里云上购买了服务器,方便测试部署,采用按量付费。

  • 选择arm架构
  • 银河麒麟高级服务器操作系统(ARM版)V10

2. 使用 Docker 官方静态二进制包部署,适配不同架构(推荐)

1. 下载二进制包:(下载链接)

拷贝到服务器上,解压

bash 复制代码
tar xzvf docker-24.0.2.tgz
2. 安装docker
  • 将docker目录下所有文件拷贝到/usr/local/bin/下面
bash 复制代码
cp docker/* /usr/local/bin/
  • 添加docker.service
bash 复制代码
vim /usr/lib/systemd/system/docker.service

将下面的内容复制到刚创建的docker.service文件中

注意:/usr/local/bin/dockerd是docker安装目录,有的拷贝到/usr/bin下面就写/usr/bin目录

bash 复制代码
[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/local/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
  • 为docker.service赋权限
bash 复制代码
# 为docker.service添加执行权限
chmod +x /usr/lib/systemd/system/docker.service
  • 重新加载配置
bash 复制代码
# 重新加载系统控制器
systemctl daemon-reload
  • 配置 Docker 服务并开机自启
bash 复制代码
systemctl enable docker
systemctl start docker
systemctl status docker
  • 验证docker安装:
bash 复制代码
docker -v
3. 按需求是否安装docker-compose 下载链接
  • 拷贝docker-compose到/usr/local/bin/
bash 复制代码
mv docker-compose-linux-aarch64 /usr/local/bin/docker-compose
  • 给于执行权限
bash 复制代码
chmod +x /usr/local/bin/docker-compose

3. 配置docker镜像加速

1. 阿里云加速,请访问链接,比较慢,大的镜像拉不下来添加链接描述

2. 阿里云不好用就访问这个连接大佬写的很细,镜像基本都可以拉取到


三. 其它部署方式

(鲲鹏服务器和麒麟系统上没有部署成功。但是这个可以用在其他服务器上部署,我自己记录保留一下存档,后面好复用)

1. Kylin V10(基于 centos)安装 Docker

注:判断是否有rpm或者:which rpm

  • 下载了arm架构对应的rpm(下载链接)
    • containerd.io-1.6.9-3.1.el8.aarch64.rpm
    • docker-ce-26.1.3-1.el8.aarch64.rpm
    • docker-ce-cli-26.1.3-1.el8.aarch64.rpm
  • 安装 Docker RPM 包
bash 复制代码
cd /tmp/docker_rpm

# 安装顺序:containerd -> docker-ce-cli -> docker-ce
rpm -ivh containerd.io-1.7.28-1.el8.aarch64.rpm
rpm -ivh docker-ce-cli-28.5.2-3.el8.aarch64.rpm
rpm -ivh docker-ce-28.5.2-3.el8.aarch64.rpm

2. Kylin V10(基于 Debian/Ubuntu)安装 Docker(下载链接)

  1. 下载以下 .deb 包(Docker CE + 依赖)
    • containerd.io_1.7.28-2~debian.11~bullseye_arm64.deb
    • docker-ce_28.5.2-1~debian.11~bullseye_arm64.deb
    • docker-ce-cli_28.5.2-1~debian.11~bullseye_arm64.deb
  2. 用 dpkg -i package.deb 安装
bash 复制代码
dpkg -i containerd.io_1.7.3-1_amd64.deb
dpkg -i docker-ce-cli_24.0.2~3-0~debian-buster_amd64.deb
dpkg -i docker-ce_24.0.2~3-0~debian-buster_amd64.deb
  1. 配置 Docker 服务并开机自启
bash 复制代码
systemctl enable docker
systemctl start docker
systemctl status docker
  1. 验证安装
bash 复制代码
docker version
docker info
docker run hello-world

3. 安装 docker-compose(可选)

bash 复制代码
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version

总结

使用 Docker 官方静态二进制包部署,适配不同架构,只是部署步骤多一些。

相关推荐
杉氧9 小时前
深入理解 Compose 重组机制:快照系统如何驱动 UI 精准刷新?
android·架构·android jetpack
杉氧10 小时前
深度解析:Jetpack Compose 核心架构与底层原理 —— 十年安卓老兵的“破茧重生”
android·架构·android jetpack
Lion0910 小时前
ReAct 循环:Agent 的思考引擎 — Think → Act → Observe
架构
得物技术12 小时前
从狂野代码到按目标生产:得物推荐 AI Harness 的工程化实践|AICon 演讲整理
人工智能·算法·架构
自珍JAVA14 小时前
Superpowers AI编码秩序
架构
古茗前端团队14 小时前
急招!前端|测试|后端|产品(名额多,速来)
前端·后端·架构
木雷坞16 小时前
我再也不敢随手 `docker compose down -v` 了
架构
没落英雄16 小时前
从零开始搭建一个 AI Agent —— LangChain + TypeScript 实战手记
前端·人工智能·架构
lichenyang45316 小时前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang45316 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器