目标
在VMware CentOS7虚拟机中采用docker运行一个MySQL容器,然后从宿主机访问和操作该MySQL数据库。
同时虚拟机的网络采用桥接模式,使用静态IP上网。
关键步骤
创建虚拟机之后,设置静态IP
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改或者添加以下内容:
BOOTPROTO=static
IPADDR=192.168.0.188 #与宿主机在同一网段
MASK=255.255.255.0 #与宿主机一致
GATEWAY=192.168.0.1 #与宿主机一致
DNS1=8.8.8.8
修改之后重启系统的网络服务
service network restart
可能出现的问题
- 宿主机和虚拟机能够相互ping通,但是虚拟机无法ping通域名。
解决:
[root@localhost hadoop]$ cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
允许用户从宿主机IP连接MySQL
由于之前已经有用户,但是宿主机的IP发生了改变,直接用root用户登录MySQL,然后运行下面的命令:
mysql> rename user 'simmons'@'192.168.1.1' to 'simmons'@'192.168.0.2';
mysql> flush privileges;
最后查看验证
mysql> show grants for 'simmons'@'192.168.0.2';
完成上述步骤后,就可以通过宿主机直接连接虚拟机中用docker运行的MySQL。