Docker 部署 Nginx , Tomcat,es + kibana
Posted CSR-kkk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 部署 Nginx , Tomcat,es + kibana相关的知识,希望对你有一定的参考价值。
nginx
介绍:
nginx 是一个异步的Web 服务器,主要提供web服务、反向代理、负载均衡和HTTP缓存功能。使用C语言开发
# 本地端口:docker port 映射
docker run -d --name nginx -p 3344:80 nginx:1.17.9
[root@localhost ~]# docker run -d --name nginx01 -p 3344:80 nginx
4a3ce2aeb93eb1765efc13a56fcff954f40b02e3a7b9a89f7e249f2da4b14e85
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4a3ce2aeb93e nginx "/docker-entrypoint.…" 4 seconds ago Up 3 seconds 0.0.0.0:3344->80/tcp, :::3344->80/tcp nginx01
[root@localhost ~]# curl localhost:3344
# 进入容器
[root@localhost ~]# docker exec -it nginx01 /bin/bash
root@4a3ce2aeb93e:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@4a3ce2aeb93e:/# cd /etc/nginx/
root@4a3ce2aeb93e:/etc/nginx# ls
conf.d fastcgi_params mime.types modules nginx.conf scgi_params uwsgi_params
# 挂载本地目录
docker run -d --name nginx -p 80:80 -v ${PWD}/nginx/html:/usr/share/nginx/html nginx:1.17.9
暴露端口
Tomcat
参考链接: https://hub.docker.com/_/tomcat
# 官方使用 ,用来测试使用,用完后立即删除容器
docker run -it --rm tomcat:9.0
# 启动tomcat
[root@localhost ~]# docker run -d --name tomcat01 -p 3355:8080 tomcat:9.0
d1332debe9742b031c18cc556fcd24c25872ec3fe79ef689b5950d8d7a316b32
# 进入容器
[root@localhost ~]# docker exec -it tomcat01 /bin/bash
# 发现问题:
1.Linux命令少了 2.webapps没有
原因:阿里云镜像,默认是最小的镜像,剔除了不必要的,文件在webapps.dist里面,将其copy到webapps目录下,可以访问
root@d1332debe974:/usr/local/tomcat# cp -r webapps.dist/* webapps
root@d1332debe974:/usr/local/tomcat# cd webapps
root@d1332debe974:/usr/local/tomcat/webapps# ls
ROOT docs examples host-manager manager
es+kibana
# es 暴露的端口很多
# es 非常耗内存
# es 数据需要放在安全目录! 挂载
# --net somenetwork 网络配置
# 启动
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
# 启动 Linux 就卡住了 docker stats 查看 cpu状态
# 查看cpu状态 docker stats
# 测试一下es能够成功
[root@localhost ~]# curl localhost:9200
{
"name" : "d957b79284c9",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "Gg_r3sHqS-CVgjQsrFmImg",
"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"
}
# 立即关闭,增加内存的限制, 修改配置文件, -e 环境配置修改
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx448m" elasticsearch:7.6.2
扩展:使用 kibana 连接 es
以上是关于Docker 部署 Nginx , Tomcat,es + kibana的主要内容,如果未能解决你的问题,请参考以下文章
Docker Compose 一键部署Nginx代理Tomcat集群