【Docker】Docker部署Nginx、tomcat、es - Go语言中文社区

【Docker】Docker部署Nginx、tomcat、es


Docker部署Nginx

  • 搜索镜像
    也可以去docker官网搜索,这样可以查看具体的版本信息
    docker search nginx
    
  • 拉取下载镜像 pull
    docker pull nginx
    docker images # 查看是否下载成功镜像
    
  • 运行
    -d 后台运行
    –name 给容器命名
    -p 宿主机端口:容器内部端口
    docker run -d --name nginx01 -p 3344:80 nginx #3344是对于服务器外部的地址,nginx默认的80是容器内部的地址,也就是我们可以通过公网的3344访问docker的80
    
  • 测试
    curl localhost:3344
    
    在这里插入图片描述
    在这里插入图片描述
  • 进入容器
    docker exec -it nginx01 bin/bash
    

端口暴露

我们通过外网要访问到我们运行的nginx01,首先我们用的是阿里云服务器,要先通过阿里云安全组,然后通过linux的防火墙。 然后要访问到还需要-p 3344:80 映射到nginx才能访问到。
在这里插入图片描述

Docker部署tomcat

  • 下载
    docker pull tomcat:9.0 # 指定下载9.0版本的tomcat
    
    官方提供的命令一般是用来测试的,因为它使用的–rm命令用完就会删除这个容器了:
    docker run -it --rm tomcat:9.0
    
  • 运行
    docker run -d -p 3355:8080 --name tomcat02 tomcat #以后台方式,暴露端口方式,启动运行
    
    这时访问是404 ,因为tomcat还不是完整的
  • 进入容器
    docker exec -it tomcat02 /bin/bash
    
    发现问题:1、linux命令少了。 2.webapps目录为空
    原因:阿里云镜像的原因,阿里云默认是最小的镜像,所以不必要的都剔除掉
  • 保证最小可运行的环境:将webapps.dist下的文件都拷贝到webapps下即可
    cp -r webapps.dist/* webapps
    

在这里插入图片描述

Docker 部署elasticsearch+kibana

es的特点:
es 暴露的端口很多!
es 十分耗内存
es 的数据一般需要放置到安全目录!挂载

  • 启动elasticsearch
    千万不要用下面这个命令直接启动,因为es特别耗内存,直接这样启动会特别卡

    docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
    

    正确命令:
    加上-e 修改配置文件,增加内存的限制

    docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
    
  • 查看占用内存

    docker stats
    

    在这里插入图片描述

  • 测试

    curl localhost:9200
    

    在这里插入图片描述

kibana连接elasticsearch

由于容器和容器之间是相互隔离的,kibana要想连接elasticsearch,可以通过linux 内网ip。
kibana走到内网地址,通过内网地址请求到es。
这其中就要用到docker网络原理在这里插入图片描述

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/zxfhahaha/article/details/115257117
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢