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
热门推荐
AI技术都用什么编程语言
将活体神经元植入大脑,他和马斯克闹掰后开辟脑机接口新路线
老年人喝牛奶:适宜量与替代品
会议室容纳人数怎么算
盘古开天地,那盘古从何而来?天地始于鸿蒙,鸿蒙之前又是什么?
L1正则化为什么具有稀疏性?
为什么现在的年轻人开始追求虐恋?
亚洲象的基本资料介绍:我国一级保护动物
把握时代脉搏:如何识别与抓住机遇
如何优化护理评估细节流程以提高效率?
智齿发黑烂了怎么办?智齿不痛需要拔除吗?
如何观察美元与黄金关系的变化?这种变化对全球经济有何影响?
如何分析市场行情的波动?市场大跌的原因有哪些?
木兰诗是什么时期的一首什么民歌
科学就医:生病不慌,健康有 “方”
血小板压积0.33严不严重
打印机彩色打印不出来怎么办?4种方法帮你轻松解决
二硫化硒洗剂的作用与功效有哪些
手机刷不停,怎样预防干眼症?
4S店又让清理发动机积碳,真的有必要做吗?看完或能明白
别墅院子围墙装饰如何选择材料与风格?
海口新房价格环比连跌14个月后“回正”,二手房市场量价分化
什么是延胡索
六氟化硫气体湿度检测:原理、方法与应用
"元宝"名称的由来:从唐代"得壹元宝"到"顺天元宝"
吃带“列净”俩字的降糖药,想要效果好,必须得注意这7点!
紫癜病是什么原因引起的
每天最多吃几个鸡蛋?医学博士 1 个月狂吃 720 个,结果发现……
肝硬化很会伪装,皮肤出现这 3 个异常,可能是肝脏的求救信号!
雷军能否借小米股价问鼎中国首富?首富之争悬念重重