前言
公司最近需要把所有服務(wù)全部部署到麒麟服務(wù)器上唯绍,其中包含各種服務(wù)器:nginx、redis枝誊、emqx况芒、influxDB、kafka叶撒、zookeeper绝骚、minio、mysql以及各個應(yīng)用等祠够。
我淋過雨压汪,所以我也想為別人撐傘。網(wǎng)上關(guān)于 arm64 系統(tǒng)的資料很少古瓤,耗費了很多時間試錯止剖。所以把這類的東西全部總結(jié)寫下來,希望對后面的同學(xué)有所幫助
一落君、準備工作
(因為是第一次安裝這玩意兒,盡量使用root賬號绎速,避免操作的時候碰到一些權(quán)限問題)
2皮获、查看操作系統(tǒng)版本
[root@ArmServer docker]# uname -a
Linux ArmServer.XHKJ 4.19.90-24.4.v2101.ky10.aarch64 #1 SMP Mon May 24 14:45:37 CST 2021 aarch64 aarch64 aarch64 GNU/Linux
[root@ArmServer docker]# cat /proc/version
Linux version 4.19.90-24.4.v2101.ky10.aarch64 (KYLINSOFT@localhost.localdomain) (gcc version 7.3.0 (GCC)) #1 SMP Mon May 24 14:45:37 CST 2021
3、查看操作系統(tǒng)架構(gòu)
[root@ArmServer docker]# uname -m
aarch64
二纹冤、安裝docker
下載地址:https://download.docker.com/linux/static/stable/
選擇系統(tǒng)架構(gòu)對應(yīng)的文件目錄:aarch64
(我目前使用的docker版本是:docker-20.10.7.tgz)
2主届、下載 docker-compose離線包
2.1赵哲、下載地址:https://github.com/docker/compose/releases
選擇對應(yīng)系統(tǒng)架構(gòu)的離線安裝包
(我目前使用的版本是:v2.17.2)
2.2待德、 Github的鏈接有時候可能訪問不了,所以我自己建了個鏈接枫夺,有需要的自行下載(免費)https://download.csdn.net/download/qq_34725844/88633719
3将宪、準備 docker.service系統(tǒng)配置文件
(復(fù)制以下內(nèi)容保存為 docker.service 文件)
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
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
4、安裝 docker 和 docker compose 離線包
# 解壓 docker 到當(dāng)前目錄
tar -xvf docker-20.10.7.tgz
# 將 docker 文件移動到 /usr/bin 目錄下
cp -p docker/* /usr/bin
# 將 docker-compose 文件復(fù)制到 /usr/local/bin/ 目錄下较坛,并重命名為 docker-compose
cp docker-compose-linux-aarch64 /usr/local/bin/docker-compose
# 設(shè)置 docker-compose 文件權(quán)限
chmod +x /usr/local/bin/docker-compose
# 將 docker.service 移到 /etc/systemd/system/ 目錄
cp docker.service /etc/systemd/system/
# 設(shè)置 docker.service 文件權(quán)限
chmod +x /etc/systemd/system/docker.service
# 重新加載配置文件
systemctl daemon-reload
# 啟動docker
systemctl start docker
# 設(shè)置 docker 開機自啟
systemctl enable docker.service
4.2、驗證安裝是否成功
4.2.1查看 docker 版本
[root@ArmServer bin]# docker -v
Docker version 20.10.7, build f0df350
4.2.2查看docker-compose 版本
[root@ArmServer bin]# docker-compose -v
Docker Compose version v2.17.2