远程访问禅道开源版数据库(基于docker)

痞子三分冷 提交于 2019-11-30 01:18:37

一.开启3306端口映射

下载安装包,构建镜像可以参考官方文档:https://www.zentao.net/book/zentaopmshelp/303.html

 

为了能够远程访问数据库,在运行镜像的时候需要把容器的3306端口映射到宿主机的3306端口

docker run --name zentao -p 80:80 -p 3306:3306 -v /data/www:/app/zentaopms -v /data/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=jc5201314.# -d zentao:latest

 

查看端口是否映射,执行命令:

docker ps

 

可以看到容器的3306端口映射到宿主机上:

 

 也可以使用lsof命令查看端口状态:

lsof -i:3306

 

 

二.开启mysql远程访问

 进入docker容器

docker exec -it zentao /bin/bash

找到MariaDB的配置文件"/etc/mysql/mariadb.conf.d/50-server.cnf",把"bind-address...."一行注释掉

 接下来还要给账户分配权限,进入mysql命令行界面,输入:

MariaDB [(none)]> select User, host from mysql.user;

host项的localhost表示该账户只能本地登录:

 

 

输入命令修改host(password字段为数据库密码):

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;

保存更改:

FLUSH PRIVILEGES;

执行完之后再次查看host项:

 

 

 重启docker,用navicat连接远程数据库。

docker restart zentao

连接成功!

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!