最近做个系统需要安装在客户本机,客户使用操作系统为统信UOS桌面专业版,机器型号为华为笔记本,处理器为麒麟arm64架构的。由于系统依赖于mysql、redis,使用docker安装相对方便。

1.进入开发者模式

在控制中心-通用-开发者模式-进入开发者模式,按照指引操作即可,操作完需要重启电脑。

2.安装docker

sudo apt-get install ca-certificates curl gnupg
  • 1.

docker 安装程序使用 iptables 进行 nat。不幸的是 Debian 使用 nftables。您可以将条目转换为 nftables,或者设置 Debian 以使用旧版 iptables

sudo update-alternatives --set iptables /usr/sbin/iptables-legacy
sudo update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
  • 1.
  • 2.

开始安装docker-ce,需要将docker源替换为阿里云的

sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce//linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo   "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian buster stable" |   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker -v
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

至此docker就安装好了,由于国内docker无法访问,我们得换个国内的

cd /etc/docker
sudo touch daemon.json
sudo chmod +x daemon.json
echo '{' |sudo tee daemon.json
echo '  "registry-mirrors": [' |sudo tee -a daemon.json
echo '     "https://docker.m.daocloud.io"' |sudo tee -a daemon.json
echo '  ]' |sudo tee -a daemon.json
echo '}'|sudo tee -a daemon.json
cat daemon.json
sudo systemctl restart docker
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

3.安装mysql

由于arm架构暂不支持mysql5.7及以下版本,所以要么找非官方源,要么安装mysql8.0版本,我这边选择安装mysql8.0

sudo docker pull mysql:8.0
cd /data/soft
sudo mkdir mysql
cd mysql
sudo mkdir data conf logs
#创建示例镜像
sudo docker run -p 3306:3306 --name  sample-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0
#复制示例镜像中的配置文件到本地目录中
sudo docker cp sample-mysql:/etc/mysql/. /data/soft/mysql/conf
#删除示例镜像
sudo docker rm -f sample-mysql
#修改my.cnf,修改为你自己需要的,修改后需要权限为644,权限太高不生效
sudo chmod 644 /data/soft/mysql/conf/my.cnf
#创建mysql镜像
sudo docker run -p 3306:3306 --name mysql \
-v /data/soft/mysql/log:/var/log/mysql \
-v /data/soft/mysql/data:/var/lib/mysql \
-v /data/soft/mysql/conf:/etc/mysql \
--restart=always \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

至此mysql安装完成,我们可以验证是否安装成功

#查看docker容器状态是否正常
#如果STATUS是Up..开头说明正常,如果不是则用docker logs mysql查看具体原因,根据原因排查修改后重新启动
sudo docker ps -a
#进入mysql容器
sudo docker exec -it mysql bash
mysql -uroot -p123456
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

4.安装redis

sudo docker pull redis
sudo docker run --restart=always -p 6379:6379 --name redis -d redis  --requirepass 123456
  • 1.
  • 2.

redis安装比较简单,我这边由于redis数据量很少没有做其它配置,如果你需要配置其它的,可以按照网上docker redis教程进行修改