【鲲鹏服务器麒麟系统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 官方静态二进制包部署,适配不同架构,只是部署步骤多一些。

相关推荐
christine-rr8 分钟前
linux常用命令(9)——查看系统与硬件信息
linux·运维·服务器·网络·后端
一条咸鱼_SaltyFish9 分钟前
[Day16] Bug 排查记录:若依框架二次开发中的经验与教训 contract-security-ruoyi
java·开发语言·经验分享·微服务·架构·bug·开源软件
幻云201017 分钟前
Next.js 之道:从全栈思维到架构实战
开发语言·javascript·架构
liuyunshengsir23 分钟前
Elasticsearch 高级查询must 多个条件同时满足
linux·服务器·elasticsearch
草莓熊Lotso24 分钟前
Linux系统进程调度优化:优先级策略与切换机制深度实践
linux·运维·服务器·c++·人工智能·经验分享·其他
没有bug.的程序员26 分钟前
Kubernetes 与微服务的融合架构:调度、弹性、健康检查深度协同
jvm·微服务·云原生·架构·kubernetes·健康检查·弹性伸缩
C+++Python29 分钟前
Flume的核心概念和架构
大数据·架构·flume
xflySnail2 小时前
nas服务域名高速访问-DNS+ESA
运维·服务器·esa·无端口访问
Jing_jing_X7 小时前
AI分析不同阶层思维 二:Spring 的事务在什么情况下会失效?
java·spring·架构·提升·薪资
Rabbit_QL9 小时前
【网络设置】Docker 自定义网络深度解析:从踩坑到工程实践
网络·docker·容器