Docker部署NocoDB:连接已有数据库或独立MySQL容器
创作时间:
作者:
@小白创作中心
Docker部署NocoDB:连接已有数据库或独立MySQL容器
引用
CSDN
1.
https://m.blog.csdn.net/hai4321/article/details/144772535
NocoDB是一个开源的无代码数据库管理工具,它允许用户通过图形界面轻松地管理和操作数据库。Docker则是一个开源的容器化平台,可以轻松地打包和运行应用程序。本文将介绍如何使用Docker部署NocoDB,并连接到现有的数据库或独立的MySQL容器。
使用已有数据库
创建本地数据库
在开始之前,需要创建一个本地数据库。以下是数据库的配置信息:
数据库:nocodb
用户:nocodb
密码:xxxxxx
修改docker-compose.yml
接下来,需要修改docker-compose.yml文件以连接到已有的数据库。默认情况下,Docker的网关IP地址是172.17.0.1(适用于bridge网络模式)。
version: "2.1"
services:
nocodb:
environment:
# 更新数据库连接信息为宿主机的 MySQL
NC_DB: "mysql2://172.17.0.1:3306?u=nocodb&p=xxxxxx&d=nocodb"
image: "nocodb/nocodb:latest"
ports:
- "28080:8080"
restart: always
volumes:
- "/opt/ai-server/nocodb_data:/usr/app/data"
volumes:
nc_data: {}
启动镜像
使用以下命令启动Docker容器:
docker compose up -d
查看日志
如果遇到连接错误,可以通过查看日志来诊断问题:
docker ps
docker logs nocodb-nocodb-1
可能会看到类似以下的错误信息:
[Nest] 9 - 12/27/2024, 8:02:03 AM ERROR [ExceptionHandler] Error: Access denied for user ‘nocodb’@‘172.25.0.2’ (using password: YES)
给用户授权IP访问
为了解决访问权限问题,需要在MySQL中为用户授权:
mysql-5.7.14
mysql -h 127.0.0.1 -P 3306 -u root -p xxxxxxxx
GRANT ALL PRIVILEGES ON nocodb.* TO 'nocodb'@'172.25.0.2';
FLUSH PRIVILEGES;
等待nocodb自动重启
授权后,NocoDB会自动重启以应用新的配置。
访问
最后,可以通过以下URL访问NocoDB:
http://127.0.0.1:28080
使用独立的docker中新的mysql
配置 docker-compose.yml
如果选择使用独立的Docker MySQL容器,需要在docker-compose.yml中进行相应的配置:
version: "2.1"
services:
nocodb:
depends_on:
root_db:
condition: service_healthy
environment:
NC_DB: "mysql2://root_db:3306?u=noco&p=password&d=root_db"
image: "nocodb/nocodb:latest"
ports:
- "28080:8080"
restart: always
volumes:
- "nc_data:/usr/app/data"
root_db:
environment:
MYSQL_DATABASE: root_db
MYSQL_PASSWORD: password
MYSQL_ROOT_PASSWORD: password
MYSQL_USER: noco
healthcheck:
retries: 10
test:
- CMD
- mysqladmin
- ping
- "-h"
- localhost
timeout: 20s
image: "mysql:8.3.0"
restart: always
volumes:
- "db_data:/var/lib/mysql"
volumes:
db_data: {}
nc_data: {}
注意:在实际使用中,请确保修改敏感数据,如密码等。
启动
使用以下命令启动Docker容器:
docker compose up -d
访问
最后,可以通过以下URL访问NocoDB:
http://127.0.0.1:28080
热门推荐
在中国,涉外仲裁的费用是多少?
八字命理:丁火日主的命运特征与职业建议
7个常见误区:项目管理核心内容的正确理解
安兔兔公布中国安卓手机性价比排名,小米15未入前五
基督徒信生辰八字起名吗?从圣经角度看生辰八字与基督教信仰的冲突
微信过期的文件如何恢复?5种方法恢复文件,存起来以防万一!
您知道怎么使用逃生绳逃生吗?
弦理论是什么?
百合花从外到内都有哪些结构
百合花怎么结种子
同理心培养:教育孩子理解他人感受,建立和谐人际关系
活性维生素D效果更好?关键是用对!3 种抗骨质疏松药物的使用区别,一次讲清
石墨烯的潜力 – 世界上最坚硬的材料
生藕和熟藕的食疗功效有何异同?如何根据个人需求选择合适的食用方式?
左肩冈上肌腱损伤怎么治疗效果好
肺部手术后痰中带血的常见原因
如何正确使用车载对讲机?使用车载对讲机时需要遵守哪些规定?
选购适合你的机械键盘指南:从预算、轴体到键帽全方位解析
如何成为AI算法工程师?
授权委托书格式概述
销售助理的主要工作职责是什么?
如何用软件测试手机屏幕
影响关键词优化报价的六大因素及解决方案
如何整理报价清单数据库
物联卡解决方案在不同场景的应用案例
FlowJo导出Excel格式的多种方法详解
诸葛亮火烧新野:历史真相与文学演绎的辨析
CFR – 成本加运费
低蛋白血症的临床表现及危害
马蜂窝的功效与作用