插件窝 干货文章 群晖docker能架设sql吗

群晖docker能架设sql吗

MySQL Docker 数据库 容器 170    来源:    2025-04-29

在群晖 Docker 上架设 SQL 数据库

是的,您可以在群晖 NAS 上使用 Docker 来架设各种 SQL 数据库服务器。以下是详细的解决方案:

支持的 SQL 数据库选项

  1. MySQL
  2. MariaDB (MySQL 的替代品)
  3. PostgreSQL
  4. Microsoft SQL Server (Linux 版本)
  5. SQLite (轻量级文件数据库)

安装步骤 (以 MySQL 为例)

方法一:通过群晖 Docker GUI 安装

  1. 打开 DSM 控制面板 → Docker
  2. 进入"注册表"选项卡,搜索 "mysql"
  3. 选择官方镜像 (通常选择 mysql:latest 或特定版本如 mysql:8.0)
  4. 点击"下载"按钮
  5. 下载完成后,在"映像"选项卡中找到该镜像,点击"启动"
  6. 配置容器设置:
    • 容器名称:如 mysql-server
    • 启用"自动重新启动"
    • 点击"高级设置"
      • 环境变量:添加 MYSQL_ROOT_PASSWORD=您的密码
      • 端口设置:将容器端口 3306 映射到主机端口 (如 3306)
      • 卷:添加数据卷以持久化数据库文件
  7. 点击"应用"然后"下一步"启动容器

方法二:通过 SSH 使用 Docker 命令安装

  1. 通过 SSH 连接到您的群晖 NAS
  2. 运行以下命令:
sudo docker run --name mysql-server \
-e MYSQL_ROOT_PASSWORD=您的密码 \
-p 3306:3306 \
-v /volume1/docker/mysql/data:/var/lib/mysql \
-d mysql:latest

其他数据库的安装

PostgreSQL

sudo docker run --name postgresql \
-e POSTGRES_PASSWORD=您的密码 \
-p 5432:5432 \
-v /volume1/docker/postgresql/data:/var/lib/postgresql/data \
-d postgres:latest

MariaDB

sudo docker run --name mariadb \
-e MYSQL_ROOT_PASSWORD=您的密码 \
-p 3306:3306 \
-v /volume1/docker/mariadb/data:/var/lib/mysql \
-d mariadb:latest

管理数据库

  1. 命令行访问

    docker exec -it mysql-server mysql -uroot -p
    
  2. 使用管理工具

    • phpMyAdmin (MySQL/MariaDB)
    • pgAdmin (PostgreSQL)
    • 也可以安装这些工具的 Docker 版本

注意事项

  1. 数据持久化:务必配置卷映射,否则容器删除后数据会丢失
  2. 资源分配:SQL 数据库可能占用较多资源,根据 NAS 性能适当分配
  3. 安全性
    • 修改默认端口
    • 使用强密码
    • 考虑限制访问 IP
  4. 备份:定期备份数据库和容器配置
  5. 版本选择:生产环境建议使用特定版本而非 latest 标签

性能优化建议

  1. 为数据库容器分配足够的内存
  2. 使用 SSD 存储卷以提高 I/O 性能
  3. 对于高负载场景,考虑分离数据和日志到不同卷
  4. 根据使用情况调整数据库配置参数

通过以上方法,您可以在群晖 Docker 上成功架设并运行各种 SQL 数据库服务。