为了测试宿主机与docker容器中mysql连接,做以下测试内容:
第一:测试宿主机与docker容器数据库的连接;
1、创建mysql容器:
# docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql
2、查看容器的ip地址:
# docker inspect 1d8c6cf82f4a |grep IPAddress 【1d8c6cf82f4a 为容器id】
结果为:
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.2",
"IPAddress": "172.17.0.2",
3、宿主机上进行连接
[root@localhost ~]# mysql -h 172.17.0.2 -uroot -proot
4、查看数据库信息
mysql> show databases;
+------------------------------+
| Database |
+------------------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+------------------------------+
4 rows in set (0.01 sec)
5、创建数据库:
mysql> create database dockerdb;
6、为了验证数据库是否创建在容器中,我在宿主机上查询是否有数据库存在,操作如下:
以上说明,数据库创建在docker容器中
第二:测试docker容器对宿主机mysql数据库的连接:
第三:小知识
1、CentOS安装完mysql数据库后,默认密码查看:
[root@localhost ~]# grep "password" /var/log/mysqld.log
2019-09-03T05:50:48.815585Z 1 [Note] A temporary password is generated for root@localhost: 4ipaqE,%*b/V
2、查看docker镜像:docker images
3、查看docker容器: docker ps 或 docker ps -a
4、进入docker容器:docker exec -it [容器id或名称] + /bin/bash
5、退出docker容器:exit
6、查看容器IP地址:docker inspect [容器id] | grep IPAddress 如: docker inspect 54cddcc34aeb |grep IPAddress