apache/ranger-db该Docker镜像专为Apache Ranger提供数据库支持,旨在简化Ranger部署过程中的数据库配置环节。容器内置预配置的数据库环境(如MySQL),并自动初始化Ranger服务所需的数据库架构与表结构,可直接满足Ranger的策略存储、用户管理等数据需求,减少手动配置数据库的复杂度。
通过以下命令启动容器,快速部署Ranger数据库环境:
bashdocker run -d \ --name ranger-db \ -p 3306:3306 \ -e DB_USER=rangeradmin \ -e DB_PASSWORD=StrongPassword123! \ -e DB_NAME=ranger \ -e ROOT_PASSWORD=RootStrongPassword! \ -v ranger-db-data:/var/lib/mysql \ [镜像名称]
参数说明:
-d:后台运行容器--name ranger-db:指定容器名称为ranger-db-p 3306:3306:映射容器内数据库端口(MySQL默认3306)到主机-v ranger-db-data:/var/lib/mysql:挂载数据卷,持久化数据库数据与Ranger服务配合部署时,可使用docker-compose.yml实现一体化部署:
yamlversion: '3' services: ranger-db: image: [镜像名称] container_name: ranger-db ports: - "3306:3306" environment: - DB_USER=rangeradmin - DB_PASSWORD=StrongPassword123! - DB_NAME=ranger - ROOT_PASSWORD=RootStrongPassword! - DB_PORT=3306 volumes: - ranger-db-data:/var/lib/mysql networks: - ranger-network restart: unless-stopped ranger-admin: image: apache/ranger-admin:latest container_name: ranger-admin depends_on: - ranger-db environment: - DB_HOST=ranger-db - DB_PORT=3306 - DB_USER=rangeradmin - DB_PASSWORD=StrongPassword123! - DB_NAME=ranger ports: - "6080:6080" networks: - ranger-network restart: unless-stopped networks: ranger-network: volumes: ranger-db-data:
容器启动后,可通过以下命令验证数据库是否正常运行:
bash# 连接数据库 docker exec -it ranger-db mysql -u${DB_USER} -p${DB_PASSWORD} ${DB_NAME} # 验证Ranger表结构(示例) mysql> SHOW TABLES;
若成功列出Ranger相关表(如ranger_policy、ranger_users等),表明数据库环境已就绪。
容器支持通过以下环境变量配置数据库参数,具体说明如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
DB_USER | Ranger数据库用户名 | rangeradmin |
DB_PASSWORD | Ranger数据库用户密码 | rangerpassword |
DB_NAME | Ranger数据库名称 | ranger |
DB_PORT | 数据库服务端口 | 3306 |
ROOT_PASSWORD | 数据库root用户密码 | rootpassword |
DB_CHARSET | 数据库字符集 | utf8mb4 |
DB_COLLATION | 数据库排序规则 | utf8mb4_general_ci |
/var/lib/mysql),避免容器删除导致数据丢失DB_PASSWORD和ROOT_PASSWORD设置强密码;限制数据库仅允许Ranger服务访问,避免公网暴露manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务