webhippie/mariadb这些是运行在Alpine Linux镜像上的MariaDB Docker镜像,提供MariaDB数据库服务,支持数据持久化、备份功能及通过环境变量进行灵活配置,适用于各类需要轻量级数据库服务的场景。
可用版本请查看Docker Hub、Quay或检查GitHub仓库中的现有文件夹。
/var/lib/mysql: 数据库数据存储目录(持久化核心数据)/var/lib/backup: 备份文件存储目录/etc/mysql/conf.d: 自定义配置文件目录/etc/mysql/init.d: 初始化脚本目录(启动时执行)3306: MariaDB数据库服务端口consoleMARIADB_BACKUP_IGNORE = (mysql|information_schema|performance_schema|sys) # 备份时忽略的系统数据库 MARIADB_BACKUP_PATH = /var/lib/backup # 备份文件存储路径 MARIADB_BACKUP_RETENTION = 14 # 备份文件保留天数(默认14天) MARIADB_BINLOG_FORMAT = mixed # 二进制日志格式(默认mixed) MARIADB_CHARACTER_SET_SERVER = utf8 # 服务器字符集(默认utf8) MARIADB_COLLATION_SERVER = utf8_general_ci # 服务器排序规则(默认utf8_general_ci) MARIADB_DATABASE = # 初始化时创建的数据库名称(可选) MARIADB_DEFAULT_CHARACTER_SET = utf8 # 默认字符集(默认utf8) MARIADB_INNODB_BUFFER_POOL_SIZE = 16M # InnoDB缓冲池大小(默认16M) MARIADB_INNODB_DATA_FILE_PATH = ibdata1:10M:autoextend # InnoDB数据文件路径 MARIADB_INNODB_FILE_PER_TABLE = ON # 启用每个表独立InnoDB文件(默认ON) MARIADB_INNODB_FLUSH_LOG_AT_TRX_COMMIT = 1 # 事务提交时日志刷新策略(默认1) MARIADB_INNODB_LOCK_WAIT_TIMEOUT = 50 # InnoDB锁等待超时时间(默认50秒) MARIADB_INNODB_LOG_BUFFER_SIZE = 8M # InnoDB日志缓冲区大小(默认8M) MARIADB_INNODB_LOG_FILE_SIZE = 5M # InnoDB日志文件大小(默认5M) MARIADB_INNODB_READ_ONLY_COMPRESSED = ON # 启用只读压缩表支持(默认ON) MARIADB_INNODB_USE_NATIVE_AIO = 1 # 使用原生AIO(默认1) MARIADB_KEY_BUFFER_SIZE = 16M # MyISAM键缓冲区大小(默认16M) MARIADB_LOG_BIN = 0 # 是否启用二进制日志(0为禁用,默认0) MARIADB_MAX_ALLOWED_PACKET = 1M # 最大允许数据包大小(默认1M) MARIADB_MAX_CONNECTIONS = 151 # 最大连接数(默认151) MARIADB_MYISAM_SORT_BUFFER_SIZE = 8M # MyISAM排序缓冲区大小(默认8M) MARIADB_NET_BUFFER_SIZE = 8K # 网络缓冲区大小(默认8K) MARIADB_PASSWORD = # 普通用户密码(与MARIADB_USERNAME配合使用) MARIADB_READ_BUFFER = 2M # 读缓冲区大小(默认2M) MARIADB_READ_BUFFER_SIZE = 256K # 读缓冲区大小(默认256K) MARIADB_READ_RND_BUFFER_SIZE = 512K # 随机读缓冲区大小(默认512K) MARIADB_ROOT_PASSWORD = # root用户密码(必填) MARIADB_ROOT_USERNAME = root # root用户名(默认root) MARIADB_SERVER_ID = 1 # 服务器ID(用于主从复制,默认1) MARIADB_SKIP_CHOWN = false # 是否跳过文件权限修改(默认false) MARIADB_SKIP_TEMPLATES = false # 是否跳过配置模板处理(默认false) MARIADB_SORT_BUFFER_SIZE = 512K # 排序缓冲区大小(默认512K) MARIADB_TABLE_OPEN_CACHE = 64 # 表打开缓存大小(默认64) MARIADB_TRANSACTION_ISOLATION = # 事务隔离级别(可选) MARIADB_USERNAME = # 普通用户名(与MARIADB_PASSWORD配合使用) MARIADB_WRITE_BUFFER = 2M # 写缓冲区大小(默认2M)
持久化数据并设置root密码:
bashdocker run -d \ --name mariadb \ -p 3306:3306 \ -v /本地路径/mysql/data:/var/lib/mysql \ # 持久化数据库数据 -v /本地路径/backup:/var/lib/backup \ # 持久化备份文件 -e MARIADB_ROOT_PASSWORD=your_root_password \ # 设置root密码 webhippie/mariadb
bashdocker run -d \ --name mariadb \ -p 3306:3306 \ -v /本地路径/mysql/data:/var/lib/mysql \ -v /本地路径/conf.d:/etc/mysql/conf.d \ # 挂载自定义配置 -e MARIADB_ROOT_PASSWORD=root123 \ -e MARIADB_DATABASE=appdb \ # 创建应用数据库 -e MARIADB_USERNAME=appuser \ # 创建普通用户 -e MARIADB_PASSWORD=user123 \ # 设置普通用户密码 -e MARIADB_BACKUP_RETENTION=7 \ # 备份保留7天 webhippie/mariadb
yamlversion: '3.8' services: mariadb: image: webhippie/mariadb container_name: mariadb-service ports: - "3306:3306" volumes: - mysql_data:/var/lib/mysql - backup_data:/var/lib/backup - ./custom-conf:/etc/mysql/conf.d # 自定义配置目录 - ./init-scripts:/etc/mysql/init.d # 初始化脚本目录 environment: - MARIADB_ROOT_PASSWORD=secure_root_pass - MARIADB_DATABASE=myappdb - MARIADB_USERNAME=appuser - MARIADB_PASSWORD=appuser_pass - MARIADB_CHARACTER_SET_SERVER=utf8mb4 # 使用utf8mb4字符集 - MARIADB_COLLATION_SERVER=utf8mb4_unicode_ci - MARIADB_BACKUP_RETENTION=10 restart: unless-stopped # 容器退出时自动重启 volumes: mysql_data: # 命名卷存储数据库数据 backup_data: # 命名卷存储备份文件
Fork → 提交补丁 → 推送 → 拉取请求
MIT
consoleCopyright (c) 2015 Thomas Boerger <[***]>

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务