本地如何访问云服务器里面Docker容器的数据库?

时间:2024-04-14 19:55:53

首先登录数据库常用参数有以下几个:
参数 描述
-D 打开指定数据库
-h 服务器名称
-p 密码
-u 用户名
-P 端口号

本地如何访问云服务器里面Docker容器的数据库?

那既然要访问云服务器DOCKER容器里面的数据库,那自然要知道服务器的名称和端口号,然后还要知道用户名和用户密码。服务器名称我们指定服务器的公网IP就可以了,用户名和密码设置一下也OK,剩下的就是如何设置端口号了。

如何设置服务器端口号,这里以阿里云服务器(本人用的是centos 7。5)为例:
1)给服务器添加一个8888/8888端口,授权为所有用户0。0。0。0/0:

本地如何访问云服务器里面Docker容器的数据库?

2)阿里云服务器端口配置好了之后, 进入阿里云服务器创建1个容器(镜像用的是docker。io/tutum/lamp), 并指定端口映射为8888:3306(8888是服务器端口,3306是容器的mysql端口):
2-1,创建一个名称为test的容器”docker run --name=test -p 8888:3306 docker。io/tutum/lamp”
2-2,创建成功执行docker ps -a查看:
本地如何访问云服务器里面Docker容器的数据库?

3)进入容器”docker exec -it test /bin/bash”;
4)初始化数据库”mysql_secure_installation”,并把root的密码改为”123456”(密码可以自定义);
5)开通外网访问docker容器里面数据库的权限:
– GRANT ALL PRIVILEGES ON TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
(%号代表所有终端, 也就是允许root用户使用密码123456在所有终端进行访问)
– flush privileges;
(MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。)
– quit
(退出数据库)

至此,服务器端的相关设置都已经完全了,远程访问的话只需要执行以下命令就可以了:
mysql -uroot -p123456 -h(服务器公网ip) -P8888

以上是针对本地访问云服务器docker容器里面的数据库方法介绍,后面我们会继续介绍,云服务器如果访问我们本地的数据库。