书籍来源:《CKA/CKAD应试指南:从Docker到Kubernetes完全攻略》
一边学习一边整理读书笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:Kubernetes认证考试自学系列 | 汇总_COCOgsta的博客-CSDN博客
在使用mysql镜像的时候, 至少需要指定一个变量MYSQL_ROOT_PASSWORD来指定root密码, 其他变量, 比如MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE这些都是可选的。
[root@vms100 ~]# docker history hub.c.163.com/library/mysql
IMAGE CREATED CREATED BY SIZE COMMENT
9e64176cd8a2 2 years ago /bin/sh -c #(nop) CMD["mysqld"] 0 B
...
[root@vms100 ~]#
复制代码
可以看到使用mysql镜像创建出来的容器里运行的是mysqld。
步骤1:创建容器。
[root@vms100 ~]# docker run -d --name=db --restart=always -e MYSQL_ROOT_PASSWORD=redhat -e MYSQL_DATABASE=blog hub.c.163.com/library/mysql
debbb87bab89cc723807a3624189a357a6e38c492653482cc82f46032b9d6b18
[root@vms100 ~]#
复制代码
这里使用MYSQL_ROOT_PASSWORD指定了MySQL root密码为redhat, 在容器里创建一个数据库, 名字为blog(由选项-e MYSQL_DATABASE=blog指定) 。
步骤2:做连接测试。
在物理机上用yum安装mariadb客户端, 命令为“yum -y install mariadb”, 然后连接容器。
[root@vms100 ~]# mysql -uroot -predhat -h172.17.0.2
...
MySQL [(none)]> show databases;
+-------------------+
| Database |
+-------------------+
| information_schema|
| blog |
| mysql |
| performance_schema|
| sys |
+-------------------+
5 rows in set (0.00 sec)
MySQL [(none)]> exit
Bye
[root@vms100 ~]#
复制代码
容器的IP可以通过如下命令查看到。
[root@vms100 ~]# docker exec db ip a | grep 'inet' #注意, inet后面有个空格
inet 127.0.0.1/8 scope host lo
inet 172.17.0.2/16 scope global eth0
[root@vms100 ~]#