使用docker-compose搭建数据库图形化管理界面adminer并连接mysql
- 下载镜像
使用命令 docker pull mysql:[version] 下载mysql镜像,版本号可加可不加,不加默认下载最新版本
使用命令 docker pull adminer 下载adminer镜像 - 在mysql容器中挂载本地目录
为避免容器由于停止,销毁等操作而导致数据丢失,最好把数据存储在本地,而不是容器中;此时,就需要在容器上挂载本地目录,将数据存储在本地中。- 首先在本地创建好需要挂载 mysql 的目录和配置文件,我的是放在/devtools/mysql下,在mysql目录下还要创建data和config这两个目录,这两个目录顾名思义就是放数据和配置的。
- 在config目录下,创建my.cnf文件,内容如下所示:
[mysqld]
user=mysql
character-set-server=utf8
default_authentication_plugin=mysql_native_password
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
本地需要挂载的文件目录和数据库配置文件都创建好了
- 编写docker-compose.yml编排文件
services:
adminer:
image: adminer
restart: always
ports:
- 8080:8080
links:
- db
environment:
- VIRTUAL_HOST=adminer.lmm.art
db:
image: mysql:5.7
restart: always
environment:
- MYSQL_ROOT_PASSWORD=123456
ports:
- 3306:3306
volumes:
- /devtools/mysql/config/my.cnf:/etc/mysql/my.cnf
- /devtools/mysql/data:/var/lib/mysql
volumes表示挂载数据卷;links表示依赖;MYSQL_ROOT_PASSWORD表示adminer界面登陆的密码。
- 启动容器
使用命令docker-compose up -d 启动容器,如果要看日志的可以使用命令docker-compose logs -f 来查看当前容器的日志。
接下来就可以访问我们的客户端界面来连接mysql啦~
链接:adminer.lmm.art:8080 (ps:你点了是访问不了的,hhhhhh)
服务器是mysql容器名,账户默认是root,密码是你在编排文件中MYSQL_ROOT_PASSWORD配置的密码,我上面设置的是123456。
登录后,选择mysql数据库,可以看到类似下面的界面。
到此为止,我们的安装就成功啦,接下来小伙伴们就可以开始在界面中通过命令等方式自由的操作你们的数据库啦~
当然,我在安装过程中也有踩过坑哦,比如说:
【php_network_getaddresses: getaddrinfo failed: Name does not resolve】这个呢我是通过down掉服务,然后重启就可以了。