树莓派上运行docker是不同于其他平台,树莓派属于arm32架构,经过前期的踩坑,在树莓派中运行docker镜像需要注意镜像对于doker的支持,在官方镜像搜索页是有系统架构作为删选的,如果需要运行arm32架构的镜像,需要使用对应的版本。
前提需要安装 docker 和 docker-compose
使用镜像
biarms/mysql:5.7
docker-compose.yml
hypriot/rpi-mysql 为 树莓派版本支持的 MySQL
adminer 为 一个在线数据库管理客户端
在 /usr/local/docker/ 目录下新建 docker-compose.yml 编辑以下内容:
nano docker-compose.yml
version: '3'
services:
db:
image: biarms/mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
ports:
- 3306:3306
volumes:
- ./data:/var/lib/mysql
adminer:
image: adminer
restart: always
ports:
- 8081:8080
登录账户为 root
密码:123456
如果无法远程访问
(1)进入镜像中的mysql(ti 后面的字符串是mysql镜像ID)
docker exec -ti 2cbb0f246353 /bin/bash
(2)登录mysql
mysql -u root -p
(3) 修改权限
update user set host='%' where user='root' and host='localhost';
(4) 退出数据库
exit
(5) 重启数据服务
service mysql restart
(6) 退出docker镜像
exit
如果出现:
Duplicate entry '%-root' for key 'PRIMARY'
输入下面命令查看:
use mysql;
select user, host from user;
查看是否已经有 user=‘root’ 的 host 变成 %
刷新权限命令
flush privileges