引言
公司最近需要把所有服务全部部署到麒麟服务器上,其中包含各种服务器:nginx、redis、emqx、influxDB、kafka、zookeeper、minio、mysql以及各个应用等,有相关需求的小伙伴可私信我要 docker-compose 的配置。
网上关于 arm 系统的技术类资料还是很少,耗费了很多时间试错,把这类的东西全部总结写下来,希望对后面的同学有所帮助,也希望更多的人写一些关于 arm 架构的资料出来,相互分享!!!
以下进入正文!!!
1 准备工作
1.1 准备服务器账号(本次全程使用root账号)
(因为是第一次安装这玩意儿,尽量使用root账号,避免操作的时候碰到一些权限问题)
1.2 查看操作系统版本
[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
1.3 查看操作系统架构
$ uname -m
aarch64
2 安装docker 和 docker-compose
2.1 下载docker离线包
下载地址:https://download.docker.com/linux/static/stable/
选择系统架构对应的文件目录:aarch64
,我目前使用的docker版本是:docker-20.10.7.tgz
2.2 下载 docker-compose离线包
2.2.1 Github下载地址:https://github.com/docker/compose/releases
选择对应系统架构的离线安装包,我目前使用的版本是:v2.17.2
2.2.2 csdn下载地址
Github的链接有些情况下可能访问不了,应该是DNS网络配置的问题。我自己在CSDN上传免费资源:有需要的可点击下载:https://download.csdn.net/download/qq_23845083/87800369
2.3 准备 docker.service系统配置文件
(复制以下内容保存为 docker.service 文件,一定是要全部,包括最上面的 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
2.4 安装 docker 和 docker-compose 离线包
2.4.1 安装 docker 和 docker-compose
docker-20.10.7.tgz 和 docker-compose-linux-aarch64、docker.service 三个安装文件,我都是放在 /home/soft 目录下,你们有需要可自行更改,不做强制要求
以下命令必须要一步一步来,有必要的话,直接复制我的命令,以免打错
# 进入安装文件存放目录
$ cd /home/soft
# 解压 docker 到当前目录
$ tar -xvf docker-20.10.7.tgz
# 将 docker 文件移动到 /usr/bin 目录下
$ cp -p docker/* /usr/bin
# 将 docker-compose 文件复制到 /usr/local/bin/ 目录下,并重命名为 docker-compose
$ cp docker-compose-linux-aarch64 /usr/local/bin/docker-compose
# 设置 docker-compose 文件权限
$ chmod +x /usr/local/bin/docker-compose
# 将 docker.service 移到 /etc/systemd/system/ 目录
$ cp docker.service /etc/systemd/system/
# 设置 docker.service 文件权限
$ chmod +x /etc/systemd/system/docker.service
# 重新加载配置文件
$ systemctl daemon-reload
# 启动docker
$ systemctl start docker
# 设置 docker 开机自启
$ systemctl enable docker.service
2.4.2 验证安装是否成功
- 查看 docker 版本
$ docker -v
Docker version 20.10.7, build f0df350
- 查看 docker-compose 版本
$ docker-compose -v
Docker Compose version v2.17.2
(Tips:安装完之后,记得把窗口重新打开,以免自己以为没安装成功,重要的事情说三遍!!!
)
(Tips:安装完之后,记得把窗口重新打开,以免自己以为没安装成功,重要的事情说三遍!!!
)
(Tips:安装完之后,记得把窗口重新打开,以免自己以为没安装成功,重要的事情说三遍!!!
)