Docker常见应用部署

Docker的核心思想就是如何将应用整合到容器中,并且能在容器中实际运行。将应用整合到容器中并且运行的这个过程,称为“容器化”或者“Docker化”。使用容器能够简化应用的构建、部署和运行的整个过程。

如果一个应用被打包为一个Docker镜像,就能以镜像的形式交付并以容器的方式运行。本文主要总结诸如mysql、redis和nginx等常见应用的部署,这些常见应用都已经以Docker镜像的方式交付,使用Docker部署其实就是以容器方式运行。

首先需准备环境,不管服务器用什么系统,只要安装了Docker的环境都没问题。如果还没有安装Docker,操作系统用的CentOS7,可以参考Docker在CentOS7上的安装及常用命令。而本文中服务器操作系统使用的CentOS Linux release 7.7.1908,Docker使用的19.03.5版本。在进行部署之前,如果想查看特定版本,可以进入docker hub搜索应用,这里以mysql为例,搜索mysql,进入mysql官方镜像库,通过Tags查看版本,选择指定版本。
搜索mysql
查看Tags

一、nginx部署

1.拉取nginx镜像

这里拉取nginx官方最新版镜像:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
8ec398bc0356: Pull complete
dfb2a46f8c2c: Pull complete
b65031b6a2a5: Pull complete
Digest: sha256:8aa7f6a9585d908a63e5e418dc5d14ae7467d2e36e1ab4f0d8f9d059a3d071ce
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest

2.创建并运行nginx容器

创建运行一个nginx容器:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name mynginx -p 80:80 nginx
6a904992225184a5fa581fa135825a7e01f83f3addef74c3790916daa9bd176d

创建nginx相关目录,用于存放nginx相关资源:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# mkdir -p /usr/local/dockerdata/nginx/{conf,conf.d,html,logs}

将容器中的nginx.confdefault.confhtml中的index.html拷贝至主机:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker cp mynginx:/etc/nginx/nginx.conf /usr/local/dockerdata/nginx/conf
[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker cp mynginx:/etc/nginx/conf.d/default.conf /usr/local/dockerdata/nginx/conf.d
[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker cp mynginx:/usr/share/nginx/html /usr/local/dockerdata/nginx

删除之前的容器并重新创建运行一个有目录挂载的容器,这样方便修改配置,想要修改配置只需要修改主机挂载目录中的配置文件:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker stop mynginx
mynginx
[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker rm -f mynginx
mynginx
[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name mynginx -p 80:80 -v /usr/local/dockerdata/nginx/html:/usr/share/nginx/html -v /usr/local/dockerdata/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/dockerdata/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /usr/local/dockerdata/nginx/logs:/var/log/nginx nginx
0b083a0ae1f4e4897f502b2cf9abb1d192f3c2aed2ab0109b332fc6431125053

3.验证是否部署成功

访问http://主机ip,出现下图所示的nginx欢迎页面说明部署成功:
部署成功
如果出现下图错误:403 ForBidden
原因1有可能是nginx目录没有index文件,注意使用目录挂载的时候,主机挂载的目录,我这里是/usr/local/dockerdata/nginx/html目录,需要将容器中的index拷贝出来,或者自定义一个index
原因2有可能是启动用户和nginx工作用户不一致,nginx.configuser改为和启动用户一致。
原因3有可能是SELinux设置为开启状态,通过cat /etc/selinux/config查看SELinux状态,如果SELINUX=enforcing,需要改成SELINUX=disabled

二、redis部署

1.拉取redis镜像

这里拉取redis官方最新版镜像:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker pull redis
Using default tag: latest
latest: Pulling from library/redis
8ec398bc0356: Already exists
da01136793fa: Pull complete
cf1486a2c0b8: Pull complete
a44f7da98d9e: Pull complete
c677fde73875: Pull complete
727f8da63ac2: Pull complete
Digest: sha256:90d44d431229683cadd75274e6fcb22c3e0396d149a8f8b7da9925021ee75c30
Status: Downloaded newer image for redis:latest
docker.io/library/redis:latest

2.准备配置文件

Redis官网下载一个与Docker容器中Redis版本一致的Redis,由于我使用的是redis最新版镜像,就下载的我写这篇总结时的最新版redis-5.0.7.tar.gz。下载完成后找到配置文件redis.conf,进行如下修改:

# 开启验证,密码123456
requirepass 123456
# 限制redis只能本地访问,注释掉,允许远程连接
# bind 127.0.0.1
# 保护模式,默认yes为开启,若设置yes,想远程访问必须配置bind ip或者requirepass 验证密码,如果既没有显示定义bind ip又没有配置requirepass 验证密码时,只能通过本127.0.0.1访问redis服务,这里由于已经注释掉了bind,想要远程访问又不想设置密码,需设置protected-mode no
protected-mode yes
# 默认为no,改为daemonize yes时以配置文件方式启动,容器会一直启动失败,可以注释掉或保持默认为no
daemonize no
# 开启redis持久化
appendonly yes

创建用于挂载的目录:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# mkdir -p /usr/local/dockerdata/redis/{data,conf}

redis.conf上传到/usr/local/dockerdata/redis/conf目录。

3.创建并运行redis容器

创建并以配置文件的方式启动运行一个redis容器:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name myredis -p 6379:6379 -v /usr/local/dockerdata/redis/data:/data -v /usr/local/dockerdata/redis/conf/redis.conf:/etc/redis/redis.conf redis redis-server /etc/redis/redis.conf
ee84b232701b6edc6148e158fb0ee0b1740751b30105cc47f7395d3b36d0f9d8

4.验证是否部署成功

登录redis容器并进入redis-cli,需要验证,能正常存取说明部署成功:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker exec -it myredis redis-cli
127.0.0.1:6379> set key1 aaa
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth "123456"
OK
127.0.0.1:6379> set key1 aaa
OK
127.0.0.1:6379> set key2 bbb
OK
127.0.0.1:6379> get key1
"aaa"
127.0.0.1:6379> get key2
"bbb"

退出redis容器查看appendonly.aof持久化文件有记录,说明data目录挂载成功:

127.0.0.1:6379> exit
[root@iZwz94v2sdd3v6zcczsu67Z ~]# cat /usr/local/dockerdata/redis/data/appendonly.aof
*2
$6
SELECT
$1
0
*3
$3
set
$4
key1
$3
aaa
*3
$3
set
$4
key2
$3
bbb

使用redis桌面客户端RedisDesktopManager连接成功:
redis客户端连接成功
redis客户端连接成功

三、tomcat部署

1.拉取tomcat镜像

拉取tomcat:9.0-jdk8-corretto镜像:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker pull tomcat:9.0-jdk8-corretto
9.0-jdk8-corretto: Pulling from library/tomcat
67e0556e0c29: Pull complete
958dc053a014: Pull complete
d7d770ea95ef: Pull complete
6324ccf672fd: Pull complete
0557a33c71c6: Pull complete
Digest: sha256:8a8b1c4e9d4cac97c8871ff84aafa6a1161c9aabafd17ca5407d3ee8205ed054
Status: Downloaded newer image for tomcat:9.0-jdk8-corretto
docker.io/library/tomcat:9.0-jdk8-corretto

2.创建并运行tomcat容器

创建运行一个tomcat容器:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name mytomcat -p 8080:8080 tomcat:9.0-jdk8-corretto
7e204a6a0162c2d00ece8afc64e7b89ddeb6e2a18d10f52032e5022e8e4e8a38

创建用于挂载的目录:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# mkdir -p /usr/local/dockerdata/tomcat/{webapps,conf,logs}

将tomcat配置文件server.xml拷贝到主机:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker cp mytomcat:/usr/local/tomcat/conf/server.xml /usr/local/dockerdata/tomcat/conf

删除之前的容器并重新创建运行一个有目录挂载的容器:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker stop mytomcat
mytomcat
[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker rm -f mytomcat
mytomcat
[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name mytomcat -p 8080:8080 -v /usr/local/dockerdata/tomcat/webapps:/usr/local/tomcat/webapps -v /usr/local/dockerdata/tomcat/conf/server.xml:/usr/local/tomcat/conf/server.xml -v /usr/local/dockerdata/tomcat/logs:/usr/local/tomcat/logs tomcat:9.0-jdk8-corretto
cee15b4f5cbfa20953e7874d1325ead7b482ef040a6e4906a678ef2854f24b76

3.验证是否部署成功

下载一个tomcat-9.0.30,将tomcat目录webapps下的ROOT目录上传到主机/usr/local/dockerdata/tomcat/webapps目录下,访问http://主机ip:8080,出现下图所示的tomcat欢迎页面说明部署成功:
部署成功

四、mysql部署

1.拉取mysql镜像

拉取mysql:8.0.16镜像:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker pull mysql:8.0.16
8.0.16: Pulling from library/mysql
0a4690c5d889: Pull complete
98aa2fc6cbeb: Pull complete
0777e6eb0e6f: Pull complete
...
Digest: sha256:5d11283aee9b73509b737785e0ad79a2d9abf51f4abf3f221702a8add0e36bf2
Status: Downloaded newer image for mysql:8.0.16
docker.io/library/mysql:8.0.16

2.创建并运行mysql容器

创建用于挂载的目录:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# mkdir -p /usr/local/dockerdata/mysql/{data,conf,logs}

创建运行mysql容器:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name mymysql -p 3306:3306 -v /usr/local/dockerdata/mysql/data:/var/lib/mysql -v /usr/local/dockerdata/mysql/conf:/etc/mysql/conf.d -v /usr/local/dockerdata/mysql/logs:/logs -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.16
d9f90c89b7907443adcb06c83144ed162cda51fdf7a770a61346430d747869ec

3.验证是否部署成功

进入mysql容器并登录mysql,能成功登录说明部署成功:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker exec -it mymysql bash
root@d9f90c89b790:/# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.16 MySQL Community Server - GPL

Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

使用navicat远程连接mysql,出现下图错误:
远程连接mysql出错
原因是docker mysql为较新的mysql8,将原来的身份验证插件mysql_native_password更换了新的身份验证插件caching_sha2_password。解决办法是登入mysql容器登录mysql客户端进行如下操作:

mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)

root可以改为自己的用户名,123456可以改为自己的密码。再次使用navicat远程连接mysql,连接成功:
mysql远程连接成功
在这里插入图片描述

五、mongodb部署

1.拉取mongodb镜像

拉取mongodb官方最新版镜像:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker pull mongo
Using default tag: latest
latest: Pulling from library/mongo
2746a4a261c9: Already exists
4c1d20cdee96: Already exists
0d3160e1d0de: Already exists
c8e37668deea: Already exists
fc3987a82b4c: Pull complete
c75f139e0836: Pull complete
...
Digest: sha256:7a1406bfc05547b33a3b7b112eda6346f42ea93ee06b74d30c4c47dfeca0d5f2
Status: Downloaded newer image for mongo:latest
docker.io/library/mongo:latest

2.创建并运行mongodb容器

创建运行mongodb容器,/usr/local/dockerdata/mongodb/data/db目录挂载至容器/data/db目录,--auth表示带权限验证:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name mymongodb -p 27017:27017 -v /usr/local/dockerdata/mongodb/data/db:/data/db mongo --auth
46acd6d202b15bbab8254053a97208d3d896d4253dd0ef22325a47eaa8c4c4a5

3.验证是否部署成功

访问http://主机ip:27017,出现下图页面说明mongodb服务启动成功:
mongodb服务启动成功
登录mongodb容器并进入admin数据库,创建一个用户root,密码123456,赋予用户root及超级管理员权限:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker exec -it mymongodb mongo admin
MongoDB shell version v4.2.2
connecting to: mongodb://127.0.0.1:27017/admin?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("4a03e4a7-8b9a-40d3-8183-cc2a2b3baf8e") }
MongoDB server version: 4.2.2
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
        http://docs.mongodb.org/
Questions? Try the support group
        http://groups.google.com/group/mongodb-user
> db.createUser({ user: "root", pwd: "123456", roles: [{ role: "root", db: "admin" }] })
Successfully added user: {
        "user" : "root",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ]
}

如下进行用户认证登录,返回1表示认证登录成功:

> db.auth('root', '123456')
1

新建一个数据库test和具有读写权限的用户:

> use test
switched to db test
> db.createUser({ user: "test", pwd: "123456", roles: [{ role: "readWrite", db: "test" }] })
Successfully added user: {
        "user" : "test",
        "roles" : [
                {
                        "role" : "readWrite",
                        "db" : "test"
                }
        ]
}

退出容器后再登入容器进入mongodb,进入test数据库,登录新创建的只有读写权限的该数据库用户test,创建一个collection并插入一条记录,成功后返回WriteResult({ "nInserted" : 1 }),说明开启权限认证的mongodb部署成功,具体内容如下:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker exec -it mymongodb mongo bash
MongoDB shell version v4.2.2
connecting to: mongodb://127.0.0.1:27017/bash?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("eb607d78-834e-4ad9-8afb-3842de0eaa4c") }
MongoDB server version: 4.2.2
> use test
switched to db test
> db.auth('test', '123456')
1
> db.collection1.insert({"name":"abc"})
WriteResult({ "nInserted" : 1 })

使用客户端工具Robo 3T远程连接mongodb,连接成功:
用户验证
测试连接成功
进入mongodb数据库

六、RabbitMQ部署

1.拉取RabbitMQ镜像

拉取rabbitmq:3.8.3-management镜像,management为带管理界面的RabbitMQ:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker pull rabbitmq:3.8.3-management
3.8.3-management: Pulling from library/rabbitmq
423ae2b273f4: Pull complete
de83a2304fa1: Pull complete
f9a83bce3af0: Pull complete
...
Digest: sha256:cebb67a53272c6734d1a8339eaa1a38aec08c2e22469a8529336ffb35fe9853b
Status: Downloaded newer image for rabbitmq:3.8.3-management
docker.io/library/rabbitmq:3.8.3-management

2.创建并运行RabbitMQ容器

创建运行RabbitMQ容器,/usr/local/dockerdata/rabbitmq/data目录挂载至容器/var/lib/rabbitmq目录:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name myrabbitmq -p 5672:5672 -p 15672:15672 -v /usr/local/dockerdata/rabbitmq/data:/var/lib/rabbitmq --hostname myrabbit -e RABBITMQ_DEFAULT_VHOST=myvhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq:3.8.3-management
880a1879e7f04274d0fe680af5395c3f4b16fff7d9dcee4bf0d7a73e67c72906

3.验证是否部署成功

访问http://主机ip:15672,出现下图所示的登录页面并输入用户名和密码后能成功登录RabbitMQ管理页面说明部署成功:
登录rabbitmq
rabbitmq管理主页面
rabbitmq用户页面

七、Zipkin部署

1.拉取Zipkin镜像

拉取openzipkin/zipkin:2.18镜像:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker pull openzipkin/zipkin:2.18
2.18: Pulling from openzipkin/zipkin
9ff2acc3204b: Pull complete
69e2f037cdb3: Pull complete
044a980d3e5b: Pull complete
...
Digest: sha256:80c5aef490522ffd3f377fb670fdb153e0455d15e3031a3d605b3b03aaf95e04
Status: Downloaded newer image for openzipkin/zipkin:2.18
docker.io/openzipkin/zipkin:2.18

2.创建并运行Zipkin容器

创建运行Zipkin容器:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name myzipkin -p 9411:9411 openzipkin/zipkin:2.18
4a79cd4a4c4667489b54b8f92cff30af1922d0a909edaa15afa07a9899f737fc

3.验证是否部署成功

访问http://主机ip:9411,出现下图所示的Zipkin页面说明部署成功:
zipkin首页

八、elasticsearch部署

1.拉取elasticsearch镜像

拉取elasticsearch:7.6.0镜像:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker pull elasticsearch:7.6.0
7.6.0: Pulling from library/elasticsearch
ab5ef0e58194: Already exists
c7bddb370e64: Pull complete
b477f7f946d3: Pull complete
5a7d0cebbd37: Pull complete
72685965d8ec: Pull complete
9fdbb1d5d01e: Pull complete
f96afe9ae49e: Pull complete
Digest: sha256:578266a8f2de6e1a6896c487dd45cfc901a82ddf50be13bb7c56f97ecd693f77
Status: Downloaded newer image for elasticsearch:7.6.0
docker.io/library/elasticsearch:7.6.0

2.创建并运行elasticsearch容器

创建运行elasticsearch容器:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name myelasticsearch -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" elasticsearch:7.6.0
add90e7257b6990ad62646c3338401149615fba273dd86605d55c59121b2d2bb

3.验证是否部署成功

访问http://主机ip:9200,返回以下JSON说明部署成功:
验证是否部署成功

4.解决跨域访问问题

进入elasticsearch容器,修改配置:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker exec -it myelasticsearch /bin/bash
[root@add90e7257b6 elasticsearch]# vi /usr/share/elasticsearch/config/elasticsearch.yml

修改为如下配置,保存后重启容器:

cluster.name: "myes-cluster"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"

5.安装ik分词器

安装ik分词器,版本与elasticsearch一致:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker exec -it myelasticsearch /bin/bash
[root@add90e7257b6 elasticsearch]# cd /usr/share/elasticsearch/plugins/
[root@add90e7257b6 plugins]# elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.0/elasticsearch-analysis-ik-7.6.0.zip
-> Installing https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.0/elasticsearch-analysis-ik-7.6.0.zip
-> Downloading https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.0/elasticsearch-analysis-ik-7.6.0.zip
[=================================================] 100%??
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.net.SocketPermission * connect,resolve
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
-> Installed analysis-ik

6.安装elasticsearch-head插件

elasticsearch-head是elasticsearch的一个数据可视化管理插件,用来监视elasticsearch的状态,并通过head客户端和ES服务进行交互。首先在windows上通过传统的方式安装,安装之前需要先装node.js,这里就不说明了。首先下载elasticsearch-head:

$ git clone https://github.com/mobz/elasticsearch-head.git
Cloning into 'elasticsearch-head'...
remote: Enumerating objects: 4337, done.
remote: Total 4337 (delta 0), reused 0 (delta 0), pack-reused 4337
Receiving objects: 100% (4337/4337), 2.48 MiB | 767.00 KiB/s, done.
Resolving deltas: 100% (2417/2417), done.

然后安装grunt,运行head插件需要用到grunt命令,进入node.js目录安装grunt:

D:\DevTool\nodejs>npm install -g grunt-cli
D:\DevTool\nodejs\node_global\grunt -> D:\DevTool\nodejs\node_global\node_modules\grunt-cli\bin\grunt
+ grunt-cli@1.3.2
added 150 packages from 121 contributors in 28.872s

D:\DevTool\nodejs>grunt -version
grunt-cli v1.3.2

进入elasticsearch-head目录,启动elasticsearch-head插件:

D:\DevTool\elasticsearch-head>grunt server
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100

访问http://localhost:9100,出现下图所示的elasticsearch管理页面并输入elasticsearch的地址,能连接上elasticsearch说明安装成功:
传统方式安装elasticsearch-head连接es
通过docker的方式也可以安装,而且更方便。首先拉取mobz/elasticsearch-head:5镜像:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker pull mobz/elasticsearch-head:5
5: Pulling from mobz/elasticsearch-head
75a822cd7888: Pull complete
57de64c72267: Pull complete
4306be1e8943: Pull complete
...
Digest: sha256:55a3c82dd4ba776e304b09308411edd85de0dc9719f9d97a2f33baa320223f34
Status: Downloaded newer image for mobz/elasticsearch-head:5
docker.io/mobz/elasticsearch-head:5

然后创建运行elasticsearch-head容器:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name myelasticsearchhead -p 9100:9100 mobz/elasticsearch-head:5
385d4e778343e05b2d02b79910b1c6da34e295dcd9a358a5e4493b9522637e62

访问http://主机ip:9100,出现下图所示的elasticsearch管理页面并输入elasticsearch的地址,能连接上elasticsearch说明安装成功:
docker方式安装elasticsearch-head连接es

九、kibana部署

1.拉取kibana镜像

拉取kibana:7.6.0镜像,版本与elasticsearch一致:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker pull kibana:7.6.0
7.6.0: Pulling from library/kibana
ab5ef0e58194: Already exists
3a92ac72d982: Pull complete
b3610a99415d: Pull complete
2ea5080d6dc3: Pull complete
...
Digest: sha256:71224955f60c9b71e633b332da41046891841b205e93763d845514c174287967
Status: Downloaded newer image for kibana:7.6.0
docker.io/library/kibana:7.6.0

2.创建并运行kibana容器

创建运行kibana容器的同时连接elasticsearch容器:

[root@iZwz94v2sdd3v6zcczsu67Z ~]# docker run -d --name mykibana -p 5601:5601 --link myelasticsearch:elasticsearch kibana:7.6.0
78dc9a1bddd81eceb4868d48d902679c3d931232cae8858928b5f342f70bf7af

3.验证是否部署成功

访问http://主机ip:5601,出现下图所示的kibana欢迎页面说明部署成功:
kibana欢迎页面
这里通过kibana验证一下之前elasticsearch的ik分词器是否安装成功,首先通过elasticsearch-head创建一个名为test的索引:
创建test索引
然后使用kibana的dev tools验证ik分词器是否安装成功,根据下面动图的测试过程和结果,说明kibana成功连接elasticsearch并且elasticsearch的ik分词器安装成功:
验证ik分词器是否安装成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RtxTitanV

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值