- ./elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
- ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml:ro
$ docker-compose up -d
构建 kibana
步骤/:ARG ELK_VERSION
步骤/:来自 www.sychzs.cn/kibana/kibana:${ELK_VERSION}
7.1.:从kibana/kibana
拉取
8ba884070f61:已经存在
3dd92e31d54b:正在下载 [====================> ] .31MB/.81MB
47d37f21fc3a:拉动完成
97eef8537832:拉动完成
151d3d8996bb:拉动完成
003e03312113:拉动完成
0fbb6a4413a0:拉取完成
c455cf619e40:拉取完成
摘要:sha256:fbf558c6df18500f00ab9c1e1ce2d566ad2c1800d023106e4a4a85274b0d40cd
状态:已下载 www.sychzs.cn/kibana/kibana:7.1 的新映像。
---> 67f17df6ca3e
成功构建67f17df6ca3e
已成功标记 docker-elk_kibana:latest
警告:构建服务 kibana 的映像是因为它尚不存在。要重建此映像,您必须使用“docker-compose build”或“docker-compose up --build”。
创建 docker-elk_elasticsearch_1 ... 完成
创建 docker-elk_kibana_1 ... 完成
创建 docker-elk_logstash_1 ... 完成
连接到 docker-elk_elasticsearch_1、docker-elk_kibana_1、docker-elk_logstash_1
$ docker-compose ps
名称 命令状态端口
-------------------------------------------------- -------------------------------------------------- --------------------------
docker-elk_elasticsearch_1 /usr/local/bin/docker-entr ... 向上 0.0.0.0:->/tcp, 0.0.0.0:->/tcp
docker-elk_kibana_1 /usr/local/bin/kibana-docker Up 0.0.0.0:->/tcp
docker-elk_logstash_1 /usr/local/bin/docker-entr ... 向上 0.0.0.0:->/tcp, /tcp, 0.0.0.0:->/tcp
访问kibana页面:
如果使用传统物理流程搭建ELK系统,必须先下载安装Java JDK,下载ELK版本,然后安装Elasticsearch、Logstash和Kibana。这整套只用了半天时间就完成了。现在集成到 docker-compose 中,只需要一个命令 docker-compose up 即可运行它。因此,使用docker-compose可以快速搭建本地测试环境,大大提高开发效率。与使用 docker run 逐个启动和停止容器相比,docker-compose 提供了容器编排服务,定义了一组容器的启动和停止依赖关系。您还可以使用 docker-compose stoplogstash 来停止单个logstash 和其他服务。
详细说明
通过上面的例子,我们已经掌握了Docker Compose的启动、停止等简单用法。那么Docker Compose有多少种用法呢?我们可以通过--help:
得到答案
$ docker-compose --help
使用 Docker 定义和运行多容器应用程序。用途:
docker-compose [-f
...] [选项] [命令] [ARGS...]
docker-compose -h|--help
选项:
-f, --file FILE 指定备用撰写文件
(默认:docker-compose.yml)
-p, --project-name NAME 指定备用项目名称
(默认:目录名称)
--verbose 显示更多输出
--log-level LEVEL 设置日志级别(DEBUG、INFO、WARNING、ERROR、CRITICAL)
--no-ansi 不打印 ANSI 控制字符
-v, --version 打印版本并退出
-H, --host 要连接的主机守护进程套接字
--tls 使用 TLS;由--tlsverify
暗示
--tlscacert CA_PATH 仅由该 CA 签署的信任证书
--tlscert CLIENT_CERT_PATH TLS 证书文件的路径
--tlskey TLS_KEY_PATH TLS 密钥文件的路径
--tlsverify 使用 TLS 并验证远程
--skip-hostname-check 不要根据
检查守护进程的主机名
客户端证书中指定的名称
--project-directory PATH 指定备用工作目录
(默认:Compose 文件的路径)
--compatibility 如果设置,Compose 将尝试转换部署
v3 文件中的密钥与其非 Swarm 等效项的密钥
命令:
build 构建或重建服务
从 Compose 文件生成 Docker 捆绑包
config 验证并查看 Compose 文件
创建 创建服务
down 停止并删除容器、网络、镜像和卷
events 从容器接收实时事件
exec 在正在运行的容器中执行命令
help 获取有关命令的帮助
图片列表图片
kill 杀死容器
日志 查看容器的输出
暂停 暂停服务
port 打印端口绑定的公共端口
ps 列出容器
pull 拉取服务镜像
Push 推送服务图片
restart 重启服务
rm 移除停止的容器
run 运行一次性命令
规模 设置服务的容器数量
start 启动服务
stop 停止服务
top 显示正在运行的进程
unpause 取消暂停服务
up 创建并启动容器
version 显示 Docker-Compose 版本信息
-f 指定撰写文件,不是必需的。如果未指定,将使用当前路径或父目录的 docker-compose.yml 文件。
-p指定项目名称,默认为目录名称,如示例中默认的docker-elk。
-v 显示 Docker Compose 版本。
--tls* 是与加密证书相关的选项。本地环境一般不用。
build 创建容器服务,例如使用 Dockerfile 构建镜像。
ps 显示所有容器。
pull 拉取服务镜像。
push 推送服务镜像。
start 启动服务。
stop 停止服务。
up 创建并启动容器服务。相当于构建(或拉取)并启动。
version 显示 Docker Compose 版本信息。
$ docker-compose 版本
docker-compose 版本 1.23.,构建 1110ad01
docker-py版本:3.6.
CPython版本:3.6.
OpenSSL 版本:OpenSSL 1.1.0h 三月
$ docker-compose 停止logstash
停止 docker-elk_logstash_1 ... 完成
$ docker-compose ps
名称 命令状态端口
-------------------------------------------------- -------------------------------------------------- -----------------
docker-elk_elasticsearch_1 /usr/local/bin/docker-entr ... 向上 0.0.0.0:->/tcp, 0.0.0.0:->/tcp
docker-elk_kibana_1 /usr/local/bin/kibana-docker Up 0.0.0.0:->/tcp
docker-elk_logstash_1 /usr/local/bin/docker-entr ... 退出
$ docker-compose 启动logstash
启动logstash...完成
$ docker-compose ps
名称 命令状态端口
-------------------------------------------------- -------------------------------------------------- --------------------------
docker-elk_elasticsearch_1 /usr/local/bin/docker-entr ... 向上 0.0.0.0:->/tcp, 0.0.0.0:->/tcp
docker-elk_kibana_1 /usr/local/bin/kibana-docker Up 0.0.0.0:->/tcp
docker-elk_logstash_1 /usr/local/bin/docker-entr ... 向上 0.0.0.0:->/tcp, /tcp, 0.0.0.0:->/tcp
总结
文章演示了通过一键运行ELK系统使用Docker Compose搭建环境的效率,然后详细介绍了Docker Compose大部分选项的含义和使用方法。
参考
https://www.sychzs.cn/compose/overview/
<!--
p.p1 {边距:0.0px 0.0px 0.0px 0.0px;字体:11.0px Menlo;颜色: #000000}
span.s1 {字体变体连字:非通用连字}
-->
-->