目前,主流数据库包括关系型(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!等。
当然,还可以使用--link标签将一个应用容器连接至MySQL容器:
$ docker run --name some-app --link some-mysql:mysql -d application-that-uses-mysql
MySQL服务的标准端口是3306,用户可以通过CLI工具对配置进行修改:
官方MySQL镜像还可以作为客户端,连接非Docker或者远程的MySQL实例:
$ docker run -it --rm mysql mysql -hsome.mysql.host -usome-mysql-user -p
1.系统与日志访问
用户可以使用docker exec指令调用内部系统中的bash shell,以访问容器内部系统:
2.使用自定义配置文件
如果用户希望使用自定义MySQL配置,则可以创建一个目录,内置cnf配置文件,然后将其挂载至容器的/etc/mysql/conf.d目录。比如,自定义配置文件为/my/custom/config-file.cnf,则可以使用以下指令:
来源:Docker技术入门与实战 (第2版) 作者:杨保华 戴王剑 曹亚仑