一、查看系统版本,确认版本
[root@localhost ~]# cat /etc/kylin-release
Kylin Linux Advanced Server release V10 (Sword)
二、查看系统架构
[root@localhost ~]# uname -p
aarch64
注意:该系统是aarch64架构,dockerhub上的大部分镜像都是x86_64架构下的,在使用dockerhub等平台的镜像时,一定要注意其架构是否支持aarch64!
内核版本、iptables版本
[root@localhost ~]# uname -r
4.19.90-24.4.v2101.ky10.aarch64
[root@localhost ~]# iptables --version
iptables v1.8.5 (legacy)
三、下载安装docker-ce
官网下载地址:https://download.docker.com/linux/static/stable/
X86架构安装
下载安装包
wget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.2.tgz
解压
tar -xvzf docker-24.0.2.tgz
拷贝解压出来的二进制文件到 /usr/bin 目录中
cp -r docker/* /usr/bin/
cp -r docker/* /usr/local/bin/
#这一步也需要执行,否则sealos安装k8s的时候,kubelet日志会报错无法执行/usr/local/sbin/runc二进制文件,这是因为格式不对,需要arm版本的runc工具
cp -r docker/runc /usr/local/sbin/
配置添加 systemd
编辑docker的系统服务文件
vi /usr/lib/systemd/system/docker.service
[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
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
重新加载和重启docker
systemctl daemon-reload
systemctl restart docker
aarch64架构
下载安装包
wget https://download.docker.com/linux/static/stable/aarch64/docker-20.10.7.tgz
解压
tar -zxvf docker-20.10.7.tgz
拷贝解压出来的二进制文件到 /usr/bin 目录中
cp -r docker/* /usr/bin/
cp -r docker/* /usr/local/bin/
#这一步也需要执行,否则sealos安装k8s的时候,kubelet日志会报错无法执行/usr/local/sbin/runc二进制文件,这是因为格式不对,需要arm版本的runc工具
cp -r docker/runc /usr/local/sbin/
配置添加 systemd
编辑docker的系统服务文件
vi /usr/lib/systemd/system/docker.service
[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
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
重新加载和重启docker
systemctl daemon-reload
systemctl restart docker
查看docker详细信息
docker info
docker的使用与x86下主流Linux发行版本(如CentOS、Fedora、Ubuntu、Debian)在使用上没有差异,需要注意的时由于CPU架构时arm64,因此,需要采用支持arm64架构的镜像才能正常使用。
不支持arm64的镜像,可以寻找第三方支持arm64架构的镜像,或者自己在银河麒麟桌面系统V10上基于centos或者alpine镜像自行编译制作一个支持arm64版本的mysql docker镜像不支持
sealos离线包百度网盘地址如下:
https://pan.baidu.com/s/1fu_l8yL_K6BLpSIugKhvAg?pwd=47f5&_at_=1690876795363#list/path=%2F&parentPath=%2Fsharelink33820949-51949982255598
sealos3一键部署:
sealos init --passwd '123456' --master 172.16.2.29 --node 172.16.2.28 --pkg-url /root/kube1.19.16.tar.gz --version v1.19.16
sealos4一键部署(需要做免密,需要卸载掉docker):
sealos run labring/kubernetes:v1.19.16 labring/helm:v3.8.2 labring/calico:v3.24.1 labring/ingress-nginx:4.1.0 --masters 172.16.2.29 --nodes 172.16.2.30 --nodes 172.16.2.28
初始化会提示无法执行二进制文件crictl,麒麟服务器系统适配了1.20版本的crictl工具,只需要去官网下载arm版本的工具,解压,拷贝mv crictl /usr/local/bin/crictl,再次初始化即可,查看镜像也就用sealos images,不用docker images了,所以建议用sealos4安装的话就直接安装k8s1.20以上版本就行
卸载docker
docker stop $(docker ps -a -q)
然后删除所有容器,镜像和数据卷:
docker rm $(docker ps -a -q)
docker rmi $(docker images -q)
docker volume rm $(docker volume ls -q)
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
rm -rf /etc/systemd/system/docker.service.d
rm -rf /etc/docker
rm -rf /var/lib/docker
rm -rf /var/run/docker