常用中间件部署教程


作为一个开发人员,平日里难免会与各种数据库进行打交道,但如果每次使用都在本机从头部署,难免过于繁杂,Docker 此时无疑成为最优解。

只需在本机安装一个虚拟机,通过 Docker 容器便可实现快速部署,无需繁琐的环境依赖,而一旦出现问题,直接删除容器重新创建即可,仅用于开发测试绰绰有余。

下面即介绍常用数据库通过 Docker 容器部署教程。

一、FTP

1. 创建目录

创建 FTP 目录用于后续容器目录映射。

# 创建目录
mkdir -p /home/docker/ftp

2. 容器启动

拉取 FTP 镜像并根据下载的镜像启动容器。

其中的 192.168.0.20 需替换为你的服务器 IPFTP_USER 为登录的用户名, FTP_PASS 为登录密码。

# 拉取镜像
docker pull fauria/vsftpd

# 启动容器
docker run -d --privileged=true \
-p 20:20 -p 21:21 \
-p 21100-21110:21100-21110 \
-v /home/docker/ftp:/home/vsftpd \
-e FTP_USER=budai \
-e FTP_PASS=123456 \
-e PASV_ADDRESS=192.168.0.20 \
-e PASV_MIN_PORT=21100 \
-e PASV_MAX_PORT=21110 \
--name vsftpd \
fauria/vsftpd

3. 权限配置

若未对 FTP 用户权限执行限制,则其会访问整个服务器文件系统。

/etc/vsftpd/vsftpd.conf 文件中添加下述配置限制用户仅能访问自身目录。

docker exec -it vsftpd bash

vi /etc/vsftpd/vsftpd.conf

# 配置文件中添加下行
chroot_local_user=YES

4. 测试连接

Windows 下打开文件资源管理器,地址栏输入 ftp://192.168.0.20 后在弹出的提示框输入账号密码即可。

如果使用上述方法连接失败,则进入 Internet属性 高级设置中开启被动 FTP 连接设置。

二、HBase

1. 容器启动

通过 Docker 搭建 HBase 测试环境比较简单,直接拉取镜像启动即可。

docker run -d \
--name hbase \
-p 2181:2181 \
-p 16010:16010 \
-p 16020:16020 \
-p 16030:16030 \
harisekhon/hbase

2. 页面访问

启动容器之后,访问页面查看是否启动成功,访问 <IP:16010> ,出现如下内容表明启动成功。

3. 服务访问

若需要访问 HBase 数据库服务,可直接通过命令行进入,之后就可以直接运行相关的 SQL 命令。

# 进入容器
docker exec -it hbase bash

# 进入命令行模式
bin/hbase shell

三、ElasticSearch

1. 目录创建

创建数据存储目录用于后续存储映射文件。

# 创建映射目录
mkdir -p /usr/local/dockerdata/elasticsearch/data
mkdir -p /usr/local/dockerdata/elasticsearch/config
mkdir -p /usr/local/dockerdata/elasticsearch/plugins

# 创建配置文件并写入
echo "http.host: 0.0.0.0" >> /usr/local/dockerdata/elasticsearch/config/elasticsearch.yml

2. 容器启动

通过拉取的镜像启动容器,并将配置文件与数据目录等映射出来。

# 拉取镜像
docker pull elasticsearch:7.6.2

# 启动容器
docker run --privileged=true \
--name elasticsearch \
-p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms128m -Xmx512m" \
-v /usr/local/dockerdata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/congif/elasticsearch.yml \
-v /usr/local/dockerdata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /usr/local/dockerdata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.6.2

如果容器启动失败查看日志是否未开启文件读写权限。

# 查看日志
docker logs elasticsearch

# 设置读写目权限
chmod 777 /usr/local/dockerdata/elasticsearch/data
chmod 777 /usr/local/dockerdata/elasticsearch/config

3. 访问测试

打开浏览器输入 <IP>:9200 显示以下信息说明安装成功。

{
  "name" : "67f95596567a",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "3aiqqdPITX-y1SL3Yn0ngQ",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

4. 开启认证

(1) 修改配置

进入 Dokcer 容器修改配置文件开启用户认证。

docker exec -it elasticsearch bash

vi config/elasticsearch.yml

在文件中修改如下内容,完成后保存退出。

# 开启加密
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
(2) 设置密码

修改完配置文件后需要重启生效,然后才能设置用户密码。

# 重启容器
docker restart elasticsearch

# 进入容器
docker exec -it elasticsearch bash

# 设置密码
elasticsearch-setup-passwords interactive

文章作者: 烽火戏诸诸诸侯
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 烽火戏诸诸诸侯 !
  目录