一、背景 客户更换了服务器,鲲鹏服务器,安装的麒麟系统,需要重新部署,由于使用的docker部署服务,所以需要在鲲鹏服务器上部署docker
二、麒麟系统arm架构部署docker 使用 Docker 官方静态二进制包部署在云服务器上成功,并且在客户服务器上也部署成功。
1.检查环境
cat /etc/os-release
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 控制台显示颜色(可忽略)
uname -m
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. 下载二进制包:(下载链接) 拷贝到服务器上,解压
tar xzvf docker-24.0.2.tgz
2. 安装docker 将docker目录下所有文件拷贝到/usr/local/bin/下面
cp docker/* /usr/local/bin/
vim /usr/lib/systemd/system/docker.service
将下面的内容复制到刚创建的docker.service文件中
注意:/usr/local/bin/dockerd是docker安装目录,有的拷贝到/usr/bin下面就写/usr/bin目录
[ 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
chmod +x /usr/lib/systemd/system/docker.service
systemctl daemon-reload
systemctl enable docker
systemctl start docker
systemctl status docker
docker -v
3. 按需求是否安装docker-compose 下载链接 拷贝docker-compose到/usr/local/bin/
mv docker-compose-linux-aarch64 /usr/local/bin/docker-compose
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.rpmdocker-ce-26.1.3-1.el8.aarch64.rpmdocker-ce-cli-26.1.3-1.el8.aarch64.rpm 安装 Docker RPM 包
cd /tmp/docker_rpm
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(下载链接): 下载以下 .deb 包(Docker CE + 依赖)
containerd.io_1.7.28-2~debian.11~bullseye_arm64.debdocker-ce_28.5.2-1~debian.11~bullseye_arm64.debdocker-ce-cli_28.5.2-1~debian.11~bullseye_arm64.deb 用 dpkg -i package.deb 安装
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
配置 Docker 服务并开机自启
systemctl enable docker
systemctl start docker
systemctl status docker
验证安装
docker version
docker info
docker run hello-world
3. 安装 docker-compose(可选)
sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version
总结 使用 Docker 官方静态二进制包部署,适配不同架构,只是部署步骤多一些。