一、入門知識
1. CPU兩大架構X86和ARM
A. 查看架構命令:uname -a;
B. X86:X86分32位和64位;
C. ARM:ARM也分32位和64位
二、操作系統適配
1. 麒麟x86_64操作系統
A. 查看linux的操作系統版本:lsb_release -a,其中kylin v10代表銀河麒麟操作系統;
B. ubuntu下安裝rz、sz命令:sudo apt-get install lrzsz;
C. docker安裝:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun;
2. 鯤鵬ARM操作系統
A. 在shell腳本里條件表達式[]中,字符串與字符串等價比較,只能用單等號;
三、Docker及鏡像適配
1. Docker安裝,可前往官網RPM包下載
yumdownloader --resolve --destdir=/data/rpm https://download.docker.com/linux/centos/8/aarch64/stable/Packages/docker-ce-19.03.14-3.el8.aarch64.rpm;
yumdownloader --resolve --destdir=/data/rpm https://download.docker.com/linux/centos/8/aarch64/stable/Packages/docker-ce-cli-19.03.14-3.el8.aarch64.rpm;
rpm -Uvh /data/rpm/*.rpm --nodeps --force;
2. Docker-Compose
A. 下載docker-compose文件:curl -L https://github.com/docker/compose/releases/download/v2.0.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose;
B. 設置權限:chmod +x /usr/local/bin/docker-compose;
C. 查看版本:docker-compose -v;
3. Mariadb:10.8.3版本鏡像啟動錯誤如下,解決辦法是降低版本到10.8.2
4. JDK:JDK官網下載
5. 服務自定義鏡像前往Docker 鏡像
四、常見問題
問題一:鏡像在arm架構上無法啟動
現象:arm架構服務器容器啟動報錯如下
standard_init_linux.go:220: exec user process caused "exec format error" libcontainer: container start initialization failed: standard_init_linux.go:220: exec user process caused "exec format error"
原因:arm架構無法運行x86的操作系統容器;
解決辦法:Docker服務鏡像需要在arm服務器上運行,就必須在arm的服務器上下載對應操作系統的服務鏡像;
問題二:離線下載Docker包與依賴yumdownloader --resolve --destdir=/data/rpm docker-ce.
aarch64報錯
現象:下載docker最新鏡像報錯;
package docker-ce-3:19.03.8-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
解決辦法:降低docker版本,yumdownloader --resolve --destdir=/data/rpm https://download.docker.com/linux/centos/8/aarch64/stable/Packages/docker-ce-19.03.14-3.el8.aarch64.rpm;
可參考:在Kylin麒麟ARM服務器下安裝Docker容器環境