如何通过Docker快速搭建各种测试环境?
首先,图像加速
Docker默认从官方图片地址Docker Hub下载图片。因为服务器在国外,频繁下载速度很慢。为了提高图片的下载速度,我们可以手动配置国产图片加速器,让下载速度飙升。
国内有很多镜像加速器选项,比如阿里云、道云等。
本文主要讲如何配置阿里云的镜像加速器。
2.1登录阿里云获取加速信息。
/
2.2配置Docker
2.2.1确定Docker客户端版本。
配置前需要确定Docker客户端的版本,推荐版本为1.10.0+:
2.2.2配置镜像加速器。
PS:以CentOS系统为例。如果你是另一个系统,可以参考阿里云配置加速器的官方文档。
通过修改守护程序配置文件/etc/docker/daemon.json来使用加速器:
执行以下命令:
2.3验证速度
以下载mongodb为例看速度:
配置加速器后,速度终于飙升。
二、快速安装&;构建Mysql环境
在本节中,我们将学习如何通过Docker快速安装和构建Mysql环境。
2.1下载Mysql图片
以Mysql 5.7为例:
下载完成后,通过docker images检查映像是否下载成功:
2.2先从最简单的方式开始。
从简单的方式开始:
命令执行完成后,还可以通过docker ps命令确认容器是否启动成功。如果成功,我们需要将容器中的目录文件复制到主机上,包括:
做完这些,让我们删除刚刚运行的容器。
PS: mysql是我们运行容器时指定的名称。当然也可以先执行docker ps,通过容器ID删除。
2.3正式运行Mysql容器
接下来,正式运行Mysql容器:
其他内容保持不变,添加了两个附加的mount子命令:
执行命令后,检查容器是否已启动:
如您所见,容器运行成功。
2.4尝试通过Mysql客户端连接。
通过mysql客户端连接刚创建的MySQL,看看连接是否能成功:
连接成功!
三、快速安装&;构建Redis环境
在本节中,我们将学习如何使用Docker安装&;构建Redis环境。
3.1下载Redis图像
首先,拉一下Redis图像。这里我选择redis的轻量镜像版:alpine:
下载完成后,通过docker images确认镜像是否已经下载到本地:
3.2运行Redis容器
命令描述:
命令运行后,检查容器是否成功启动:
可以看到redis容器已经成功启动了!
3.3连接刚刚创建的容器。
执行以下命令来连接redis:
第四,快速安装&;构建一个MongDB环境
在本节中,我们将学习如何通过Docker快速安装和构建MongoDB环境。
4.1下载MongoDB映像
这里以mongo 4版本为例下载图片:
下载完成后,确认图像是否下载成功:
4.2运行MongoDB映像
下载成功后,运行mongoDB映像:
执行命令后,检查容器是否已启动:
4.3添加管理员帐户
执行命令:
然后,创建一个具有最高权限的root帐户:
创建成功后,您将看到成功添加的用户:
4.4连接新创建的root帐户,并对其进行测试。
连接成功后,我们可以执行相关的sql:
显示所有数据库:
使用数据库:
输入命令exit退出连接!
动词 (verb的缩写)快速安装&;构建弹性搜索环境
在本节中,我们将学习如何通过Docker快速安装和构建一个Elasticsearch环境。
5.1下载Elasticsearch图片
Elasticsearch 6.5.0在这里用于快速安装&;构建弹性搜索环境:
下载完成后,通过docker images检查映像是否下载成功:
5.2先简单运行Elasticsearch图片。
下载成功后,只需运行Elasticsearch映像:
命令执行完成后,还可以通过docker ps命令确认容器是否启动成功。
您可以看到es容器成功运行。接下来,输入容器:
安装analysis-ik中文分词插件:
PS: es支持自己的es插件命令从v5.5.1安装。如果您安装的版本不是6.5.0,您需要在命令中修改版本号。详情请参考/med cl/elastic search-analysis-ik。
成功安装后,退出容器:
删除刚刚运行的容器:
PS:当然也可以通过容器的ID删除。
5.3复制相关文件
5.4修改es相关配置
进入我们刚刚指定的config配置目录,并修改jvm.options文件:
PS:因为小哈测试服务器只有2G内存,这里我改成了JVM内存占用300m M,如果你的内存够用,就不用换了。
修改elasticsearch.yml文件并添加以下配置:
解释添加的配置,将节点设置为主节点,并允许跨域访问,以便以后使用head插件的图形界面进行访问。
5.5运行弹性搜索容器
这一次,我们添加了额外的相关装载命令:
5.6测试es是否可以正常访问。
测试es是否成功启动:
好了,这个es的单节点环境设置好了!
欢迎做了一到五年Java工程师的朋友加入Java程序员开发:721575865。
在群里提供免费的Java架构学习资料(包括高可用、高并发、高性能和分发、Jvm性能调优、Spring源代码、MyBatis、Netty、Redis、Kafka、MySQL、Zookeeper、Tomcat、Docker、Dubbo、Nginx等知识点)。合理利用每一分钟学习提升自己,不要再用了。趁着年轻好好奋斗,以后给自己一个交代!