树莓派换源 & 安装配置docker (ubuntu24)
<ol>从树莓派官网下载工具"树莓派镜像烧录器"
从ubuntu官网下载Ubuntu 24.04.2 LTS: https://ubuntu.com/download/raspberry-pi
硬件要求:最少4GB ram 和 16GB 磁盘
下载完整后,得到:ubuntu-24.04.2-preinstalled-desktop-arm64+raspi.img.xz
需要解压成:ubuntu-24.04.2-preinstalled-desktop-arm64+raspi.img
使用树莓派镜像烧录器烧录镜像
CHOOSE DEVICE - 选择树莓派4 (根据实际型号来)
操作系统 -> Use custom -> ubuntu-24.04.2-preinstalled-desktop-arm64+raspi.img
选择SD卡 -> 实际的sd卡
点击 NEXT
然后可以编辑设置,实现预配置(用户名,wifi, 国家, 键盘, 时区, 开启ssh服务等)(这一步好像没啥用,启动系统后还要再设一遍)
格式化并写入sd卡
将 SD 卡插入到树莓派,启动系统,配置语言、时区、用户、密码、时区等,安装系统
ubuntu24 系统比较吃资源,后续可以选择更低版本的系统,跑个火狐浏览器就可以把cpu全占满。并且系统太大了,内存释放也比较慢。这样看来,还是debian比较好。
打开火狐浏览器,下载vnc server https://www.realvnc.com/en/connect/download/?lai_vid=gxl0mpADGIy9x&lai_sr=5-9&lai_sl=l 下载版本选择树莓派版本+arm64,下载完毕后,安装即可。安装完毕,如果要求登录,选择跳过,即可实现登录
安装基础的工具- sudo apt update
- # 网络工具
- sudo apt install net-tools
- # ssh
- sudo apt install openssl-server
- # iftop
- sudo apt install iftop
- # vim
- sudo apt install vim
- # 自动补全(比较大,341MB,选择安装)
- sudo apt install auto-complete-el
- # 安装完毕后编辑 /etc/bash.bashrc
- # 将这一段解开注释
- # sudo hint
- if [ ! -e "$HOME/.sudo_as_admin_successful" ] && [ ! -e "$HOME/.hushlogin" ] ; then
- case " $(groups) " in *\ admin\ *|*\ sudo\ *)
- if [ -x /usr/bin/sudo ]; then
- cat <<-EOF
- To run a command as administrator (user "root"), use "sudo <command>".
- See "man sudo_root" for details.
- EOF
- fi
- esac
- fi
- sudo apt install python3-pip
- # 配置python3 pip 源 (跳过此步骤,ubuntu24 安装python依赖库改成了 sudo apt install python3-库名 的形式)
- # sudo su
- # cd ~
- # mkdir .pip
- # cd .pip
- # touch pip.conf
- # pip.conf 内容如下
- # [global]
- # index-url = https://pypi.tuna.tsinghua.edu.cn/simple
- # [install]
- # trusted-host=pypi.tuna.tsinghua.edu.cn
复制代码
- 拉取项目
- cd /etc/apt/sources.list.d
- sudo touch mysource.sources
- sudo vim mysource.sources
- # 内容如下
- # 清华源
- Types: deb
- URIs: http://mirrors.tuna.tsinghua.edu.cn/ubuntu/
- Suites: noble noble-updates noble-security
- Components: main restricted universe multiverse
- Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
- # 阿里源
- Types: deb
- URIs: http://mirrors.aliyun.com/ubuntu/
- Suites: noble noble-updates noble-security
- Components: main restricted universe multiverse
- Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
复制代码 - 使用idea打开项目(建议用新版本的idea,我用的2023.1, 之前用2021打开会有点问题, 当然,如果习惯eclipse的话, 官网推荐用eclipse打开)
必要配置
- 修改数据库连接,编辑resources目录下的application-druid.yml
- sudo apt install docker.io
- # 查看 docker 版本
- docker -v
- # Docker version 27.5.1, build 27.5.1-0ubuntu3~24.04.2
- apt install docker-compose
- docker-compose version
- # docker-py version: 5.0.3
- # CPython version: 3.12.3
- # OpenSSL version: OpenSSL 3.0.13 30 Jan 2024
- # 更换Docker镜像源
- # 切换为 root 用户,否则会报错无权限
- sudo -i
- cat > /etc/docker/daemon.json <<EOF
- {
- "log-driver": "json-file",
- "log-opts": {
- "max-size": "20m",
- "max-file": "3"
- },
- "ipv6": true,
- "fixed-cidr-v6": "fd00:dead:beef:c0::/80",
- "experimental":true,
- "ip6tables":true,
- "registry-mirrors": [
- "https://registry.hub.docker.com",
- "http://hub-mirror.c.163.com",
- "https://mirror.baidubce.com",
- "https://docker.mirrors.sjtug.sjtu.edu.cn",
- "https://docker.nju.edu.cn",
- "https://docker.m.daocloud.io",
- "https://dockerhub.icu",
- "https://docker.anyhub.us.kg",
- "https://docker.1panel.live"
- ]
- }
- EOF
- # 重启一下daemon和docker服务
- sudo systemctl daemon-reload #重启daemon进程
- sudo systemctl restart docker.service #重启docker
- # 查看docker配置信息
- docker info
- # 尝试拉取镜像
- docker pull nginx:latest
- # docker pull docker.1panel.live/docker.io/openresty/openresty
- docker pull redis:latest
- # docker pull mysql:latest # 9.0 版本,太新了
- docker pull docker.xuanyuan.me/library/mysql:8.0
- # 开始准备用 node 编译下vue,后来发现vue不需要交叉编译,直接在windows上编译好了放到nginx就可以
- # docker pull node:latest # 24
- # docker pull node:16
复制代码
- 修改服务器配置,编辑resources目录下的application.yml
- # 方式一,直接安装
- sudo apt install openjdk-8-jdk
- # 方式二,使用java安装包自行安装 (arm64的java8安装包)
- sudo mkdir -p /usr/local/java
- sudo tar -zxvf jdk-8u281-linux-aarch64-serial.tar.gz -C /usr/local/java
- # 编辑 /etc/profile, 添加如下配置
- export JAVA_HOME=/usr/local/java/jdk1.8.0_281
- export PATH=$JAVA_HOME/bin:$PATH
- export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- # 验证
- source /etc/profile
- java -version
- # java version "1.8.0_281"
- # Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
- # Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)
- # 注意:如果想要用root执行java,需要用指令 su -i 切换root,不可以用 sudo su (只会切换用户,但不加载该用户的登录环境/etc/profile) (这里后续可以改进一下)
复制代码 修改 ruoyi-admin的配置文件中的数据库用户名和密码,修改文件路径:/home/ruoyi/uploadPath
打包,打包后会在 RuoYi-Vue\ruoyi-admin\target 生成 ruoyi-admin.jar,这就是主程序包
树莓派环境,后端部署
- # 创建目录
- #/opt/mysql/8.0/
- cd /opt
- mkdir mysql
- cd mysql
- mkdir 8.0
- cd 8.0
- mkdir conf data log
- # 配置my.conf
- cd conf
- touch my.conf
复制代码 官方给的启动脚本ry.sh有点问题(主要是windows异常行结束符 & 修改执行的sh为 bash)
我改了一下:ry.sh,主要是开头的 #!/bin/sh 改成了 #!/bin/bash
此外,如果报错:-bash: ./ry.sh: 无法执行:找不到需要的文件,大概率就是脚本在windows编辑过,需要在树莓派linux中使用vim打开,然后输入:set ff=unix ,之后保存退出再试就可以了。- [mysqld]
- pid-file = /var/run/mysqld/mysqld.pid
- socket = /var/run/mysqld/mysqld.sock
- datadir = /var/lib/mysql
- secure-file-priv= NULL
- # Disabling symbolic-links is recommended to prevent assorted security risks
- symbolic-links=0
- # Custom config should go here
- !includedir /etc/mysql/conf.d/
- default_authentication_plugin= mysql_native_password
复制代码- cd /opt/mysql/8.0
- touch docker-compose.yml
复制代码 前端编译
前端是静态资源库,不需要考虑交叉编译的事情,所以目前方案就是windows打包,然后树莓派nginx部署
进入项目的RuoYi-Vue\ruoyi-ui目录
开发- version: '3.8' # 可以根据需要调整版本
- services:
- mysql:
- container_name: mysql8
- image: docker.xuanyuan.me/library/mysql:8.0
- restart: always # 可以选择使用 always 或 unless-stopped
- environment:
- MYSQL_ROOT_PASSWORD: root
- ports:
- - "3306:3306"
- volumes:
- - /opt/mysql/8.0/data:/var/lib/mysql:rw
- - /opt/mysql/8.0/log:/var/log/mysql:rw
- - /opt/mysql/8.0/conf/my.cnf:/etc/mysql/my.cnf:rw
- - /etc/localtime:/etc/localtime:ro
复制代码 发布- # 后台启动mysql8容器(调试的话可以去掉-d,另外,停止并删除容器使用 down)
- docker-compose up -d
- # 进入mysql8
- docker exec -it mysql8 bash
- # 访问mysql服务(默认密码:root)
- mysql -uroot -p
- # 配置允许远程访问(下面的密码填充自己的密码,比如 123456)
- alter user 'root'@'%' identified with mysql_native_password by '密码';
- FLUSH PRIVILEGES;
- exit
- # 退出容器
- exit
复制代码 树莓派部署- mkdir -p /opt/redis
- cd /opt/redis
- mkdir /data
- touch docker-compose.yml
复制代码 ruoyi.conf- version: '3.8' # 可以根据需要调整版本
- services:
- redis:
- container_name: redis_container
- image: redis:latest
- restart: always # 可以选择使用 always 或 unless-stopped
- network_mode: "host" # 使用主机网络
- volumes:
- - /opt/redis/data:/data
- - /etc/localtime:/etc/localtime:ro
复制代码 docker-compose.yml- JDK >= 1.8 (推荐1.8版本)
- Mysql >= 5.7.0 (推荐5.7版本)
- Redis >= 3.0
- Maven >= 3.0
- Node >= 12
复制代码- git clone https://gitee.com/y_project/RuoYi-Vue.git
复制代码 浏览器访问http://树莓派ip,即可访问若依界面。
后续实际运行发现,页面运行一段时间,就跳出来登不进去了,登录一直报错。在windows本地运行没问题,估计还是环境有点问题。仅当做一次探索和记录吧,后续会想办法优化。
参考文档
[1]. 无法拉取 Docker 镜像?树莓派4B 安装Docker并配置Docker镜像源分享
[2]. docker设置国内镜像源
[3]. 树莓派4B学习笔记四--基于Docker搭建Nginx,在Nginx服务器上部署Vue项目
[4]. 第四章:ubuntu 24.04配置清华源
[5]. Ubuntu24.04换源方法(新版源更换方式)
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |