Docker技术入门与实战 第12章 数据库应用

目前,主流数据库包括关系型(SQL)和非关系型(NoSQL)两种。

关系型数据库是建立在关系模型基础上的数据库。借助于集合代数等数据概念和方法来处理数据库中的数据,支持复杂的事物和结构化查询。代表实现有MySQL、Oracle、PostGreSQL、MariaDB、SQLServer等。

非关系型数据库是新兴的数据库技术,它放弃了传统关系型数据库的部分强致性限制。带来性能上的提升,使其更适用于需要大规模并行处理的场景。非关系型数据库是关系型数据库的良好补充,代表产品有MongoDB、Redis、CouchDB等。

本章选取了最具代表性的Mysql、Mongodb、Redis、    Memcached、CouchDB、Cassandra等数据库软件,来讲解基于Docker创建相关镜像并进行应用的过程。

12.1 MySQL

MySQL是全球最流行的开源关系数据库软件之一,因为其高性能、成熟可靠和适应性而得到广泛应用。MySQL目前在不少大规模网站和应用中被使用,比如Facebook、Twitter和Yahoo!等。

使用官方镜像可以快速启动一个MySQL Server实例,如下所示:

[root@localhost ~]# docker run -d --name mysqldb -e MYSQL_ROOT_PASSWORD=123 mysql:5.6

以上指令中的hi-mysql是容器名称,123为数据库的root密码。

使用docker ps 指令可以看到现在运行中的容器:

[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS               NAMES
0c4bbf1b5491        mysql:5.6           "docker-entrypoint.s…"   About a minute ago   Up About a minute   3306/tcp            mysqldb

当然,还可以使用--link标签将一个应用容器连接至MySQL容器:



[root@localhost ~]# docker run -d -P --name wordpress --link mysqldb wordpress

[root@localhost ~]# docker run -d -P --name wordpress --link mysqldb wordpress

1.系统与日志访问

用户可以使用docker  exec 指令调用内部系统中的bash shell,以访问容器内部系统:

[root@localhost ~]# docker exec -it 0c4 /bin/bash

MySQL日志可以使用docker logs指令查看:

[root@localhost ~]# docker logs 0c4

                                                                                                                                                                                                                                                                                                                                                                                                                 12.2 MongoDB

12.3 Redis

12.4 Memcached

12.5 CouchDB

12.6 Cassandra

12.7 本章小结

在使用数据库容器时,建议将数据库文件映射到宿主主机,一方面减少容器文件系统带来的性能损耗,另一方面实现数据的持久化。

阅读本章需要对特定的数据库的特性和配置有一定的基础知识,建议读者结合各个灵气库的使用文档进行更深入的学习。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   


猜你喜欢

转载自blog.csdn.net/tjjingpan/article/details/80400580
今日推荐