树莓派上运行docker是不同于其他平台,树莓派属于arm32架构,经过前期的踩坑,在树莓派中运行docker镜像需要注意镜像对于doker的支持,在官方镜像搜索页是有系统架构作为删选的,如果需要运行arm32架构的镜像,需要使用对应的版本。
准备
- 树莓派4B
- docker
- docker-compose
使用镜像
目录结构
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | .│  .env
 │  docker-compose.yml
 │
 └─mysql
 ├─config
 │      my.cnf
 │
 └─data
 
 | 
docker-compose.yml
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 
 | version: '3'
 services:
 mysql-db:
 container_name: mysql-docker        # 指定容器的名称
 image: hypriot/rpi-mysql                   # 指定镜像和版本
 ports:
 - "3306:3306"
 restart: always
 environment:
 MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
 MYSQL_ROOT_HOST: ${MYSQL_ROOT_HOST}
 volumes:
 - "${MYSQL_DIR}/data:/var/lib/mysql"           # 挂载数据目录
 - "${MYSQL_DIR}/config:/etc/mysql/conf.d"      # 挂载配置文件目录
 
 | 
.env
| 12
 3
 4
 
 | MYSQL_ROOT_PASSWORD=rootMYSQL_ROOT_HOST=%
 
 MYSQL_DIR=./mysql
 
 | 
my.cnf
| 12
 3
 4
 5
 6
 
 | [mysqld]character-set-server=utf8mb4
 default-time-zone='+8:00'
 innodb_rollback_on_timeout='ON'
 max_connections=500
 innodb_lock_wait_timeout=500
 
 | 
编译
在根目录(docker-compose.yml所在目录)
启动
停止
源码地址
源码地址