Docker研学-部署Nginx+Tomcat+ES

学习自b站狂神说Docker: https://www.bilibili.com/video/BV1og4y1q7M4/?spm_id_from=333.337.search-card.all.click

部署Nginx

#1.搜索nginx,看是否能够查询到镜像,建议去docker hub看,有帮助文档
docker search nginx
#2.拉取镜像,可以指定版本号,或者下载最新的
docker pull nginx
#3.查看是否下载成功
docker images
#4.启动镜像,-d后台启动nginx,--name此时可以起名字,不起名就是他本身默认名(nginx)
#-p 3344:80 -p宿主机端口:容器内部端口 暴露端口号3344(服务器的外部地址)通过公网的3344可以访问docker的80端口(容器内部的地址,nginx默认端口号80),启动容器nginx
docker run -d --name nginx01 -p 3344:80 nginx
#5.查看容器是否启动成功
docker ps
#6.本机自测,curl,由于安装linux的时候很多时候是没有安装桌面的,也意味着没有浏览器,因此这个方法也经常用于测试一台服务器是否可以到达一个网站
curl localhost:3344
#7.进入nginx容器
[root@localhost ~]# docker exec -it nginx01 /bin/bash
#8.查询nginx的配置文件 配置文件nginx.conf在etc目录下 html在/usr/share/nginx中
root@ec9730f5418d:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@ec9730f5418d:/# cd /etc/nginx
root@ec9730f5418d:/etc/nginx# ls
conf.d	fastcgi_params	mime.types  modules  nginx.conf  scgi_params  uwsgi_params
root@ec9730f5418d:/etc/nginx# 
#9.后期可通过-v数据卷技术,在容器外修改配置文件,容器内自动修改文件,不需要进入容器

端口暴露概念
在这里插入图片描述
外网通过暴露端口访问容器
在这里插入图片描述

Tomcat

#官方的使用,一般用来测试,容器用完即删(之前的启动都是后台,停止了容器之后还是可以被查到,run 会自动下载镜像)
docker run -it --rm tomcat:9.0

#1.下载镜像(最新版)
docker pull tomcat
#2.后台启动tomcat暴露端口为3355(容器外部的3355给容器内部的8080),起名为tomcat01
[root@localhost /]# docker run -d -p 3355:8080 --name tomcat01 tomcat
7c9d4d8f369e6c07d0e8c4fbfcb5699977ea2173940512147e5acbd233090e8b
#测试访问没有问题(404,官方镜像是阉割版的)

#3.进入容器
[root@localhost /]# docker exec -it tomcat01 /bin/bash
#4.查看容器目录
root@7c9d4d8f369e:/usr/local/tomcat# ls
BUILDING.txt LICENSE  README.md	 RUNNING.txt  conf  logs  temp    webapps.dist CONTRIBUTING.md  NOTICE   RELEASE-NOTES  bin lib  native-jni-lib  webapps  work
#5.webapps目录为空所以访问时报404
root@7c9d4d8f369e:/usr/local/tomcat# cd webapps
root@7c9d4d8f369e:/usr/local/tomcat/webapps# ls
root@7c9d4d8f369e:/usr/local/tomcat/webapps# 
#发现问题 1.linux命令少了2.没有webapps(404),原因:阿里云镜像默认最小的镜像,不必要的都会被剔除掉,只保证最小的可运行环境

#6.tomcat的文件在webapps.dist中,可将其中的文件复制到webapps中(将root复制过去,或者改个名字)
root@7c9d4d8f369e:/usr/local/tomcat/webapps# cd ..
root@7c9d4d8f369e:/usr/local/tomcat# cd webapps.dist
root@7c9d4d8f369e:/usr/local/tomcat/webapps.dist# ls
ROOT  docs  examples  host-manager  manager

#7.将webapps.dist中的文件复制到webapps中,于webapps中查看
root@7c9d4d8f369e:/usr/local/tomcat# cp -r webapps.dist/* webapps
root@7c9d4d8f369e:/usr/local/tomcat# cd webapps
root@7c9d4d8f369e:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager

在这里插入图片描述

ES

#es 暴露端口多;十分耗内存(启动后linux就卡需要至少1G);数据需放在安全目录(挂载)
#1.官方启动 --net somenetwork 网络配置 目前可以去掉 -e "discovery.type=single-node"表示集群默认单个节点
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2

#可以通过 docker stats查看cpu的状态(每秒刷新)
CONTAINER ID   NAME            CPU %    MEM USAGE / LIMIT    MEM %   NET I/O     PIDS
6a3325619279   elasticsearch   0.38%    1.255GiB / 1.938GiB  64.76%  1.09kB / 0  41

#2.测试 es是否成功
[root@localhost ~]# curl localhost:9200
{
  "name" : "6a3325619279",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "SUWQgMGNT3qWXIozXPtA2A",
  "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"
}

#3.修改配置文件,增加内存限制 -e 环境配置修改 通过基本参数ES_JAVA_OPTS设置,-Xms64m 指定了初始堆大小为64m  -Xmx512m指定了最大堆大小为512m
[root@localhost ~]# docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

#4.再次查看cpu的状态 docker stats
CONTAINER ID   NAME              CPU %     MEM USAGE / LIMIT     MEM %    
55d5e6f50fc0   elasticsearch02   0.24%     373.2MiB / 1.938GiB   18.81%

容器间是相互隔离的,故Kibana不能直接连接ES,需要通过Linux才可以连接
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

泰勒疯狂展开

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

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

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

打赏作者

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

抵扣说明:

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

余额充值