首页 > 其他 > 详细

Docker的简单部署练习

时间:2021-09-02 07:57:46      阅读:9      评论:0      收藏:0      [点我收藏+]

一、nginx部署

1、Nginx常用来做负载均衡和反向代理。

2、部署nginx

(1)查找镜像

技术分享图片

 

 (2)拉取镜像

技术分享图片

 

 

(3)查看已下载镜像

 

技术分享图片

 

 

3、运行nginx实例。

(1)运行一个实例。

  命令:docker run -d --name nginx01 -p 3344:80 nginx

  解释:-d,以后台方式运行;--name nginx01,定义的运行容器实例名字;-p 3344:80 将容器内部的80端口映射给宿主机的3344端口;nginx,镜像名称。

  技术分享图片

 

   通过查看发现,该容器已经运行。

 

(2)本机自测检验是否可以访问nginx

  命令:curl localhost:3344

技术分享图片

 

 

(3)端口映射浅析

  如图所示,容器是一个互相隔离的小系统,容器与宿主机之间是无法直接访问,所以需要通过接口映射将容器内部端口与宿主机进行映射,暴露宿主机的端口供访问。

技术分享图片

 

 

(4)上述过程即是对nginx的部署,理论上在外网可以直接访问。(ps:但是我实际测试访问失败了,不知道是什么原因)

 

二、tomcat部署

1、安装tomcat之前建议先去docker官网查看支持的tomcat版本。

2、用完即删除的容器运行方式

  命令:docker run -it --rm tomcat:9.0

   直接运行tomcat9.0版本(docker如果不存在镜像,会先去拉去,所以可以不先下载镜像而直接运行容器);运行方式选择--rm方式,即启动这个容器之后就开始运行,当容器停止就把这个容器删除(之前的方式可以查看到历史容器运行记录)。

技术分享图片

 

 

  停止容器,查看记录,发现并没有历史容器记录,但是有tomcat这个镜像。

 

技术分享图片

 

 

3、部署tomcat。

  命令:docker run -d --name tomcat01 -p 3355:8080 tomcat

技术分享图片

由上图可知,部署成功

 

三、部署Kibana

  ES的特点:es暴露的端口很多,且非常耗内存,而且需要挂在到安全目录。

1、开启容器,

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

    含义:将9200、9300端口暴露出来;-e"discovery.type=single-node",使用单节点模式;elasticsearch:7.6.2,指定es的版本。

技术分享图片

 

 

  使用es之后,服务器会变得很卡!

  可以使用   docker stats  查看系统资源占用情况。从下图可以看到,目前只有一个tomcat02的容器在跑。

技术分享图片

 

 

2、如何解决ES占用内存的情况呢?

  可以修改环境变量方式来分配内存。

  命令:docker run -d --name elasticsearch03 -p 9400:9400 -p 9500:9500 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xms512m" elasticsearch:7.6.2

  含义:-e ES_JAVA_OPTS="-Xms64m -Xms512m",表示只分配64M到512M的内存给ES这个容器。 

 

技术分享图片

 

 

3、容器内部如何通信?

  容器之间是互相隔离的,所以不能直接连接。所以需要通过服务器内网地址进行转接,内网与容器之间也需要做一个映射。

技术分享图片

 

Docker的简单部署练习

原文:https://www.cnblogs.com/xiaoxiami1995/p/15208477.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!