Docker的安装部署(nginx、tomcat、es+kibana)

本文详细介绍了如何使用Docker安装部署Nginx、Tomcat以及Elasticsearch(ES)和Kibana。通过搜索、下载镜像,以及启动和配置,确保每个服务的正常运行。在测试过程中,针对可能出现的问题,如内存限制,提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker安装Nginx

1、搜索镜像search建议大家去docker搜索,可以看到帮助文档

docker search nginx

2、下载镜像pull

docker pull nginx

3、运行测试

[root@localhost /opt] # docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
mysql         latest    c8562eaf9d81   2 months ago    546MB
nginx         latest    f6d0b4767a6c   2 months ago    133MB
centos        latest    300e315adb2f   3 months ago    209MB
hello-world   latest    bf756fb1ae65   14 months ago   13.3kB
[root@localhost /opt] # docker run -d --name nginx1 -p 3344:80 nginx
77adfb26f92412f0484a3bc9abd82b66ed818bc717e0212f2774adaccb230f53

#-d后台运行
#--name给容器命名
#-p 宿主机端口:容器内部端口		-p端口暴露,如下图讲解

[root@localhost /opt] # docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED       STATUS       PORTS                  NAMES
77adfb26f924   nginx     "/docker-entrypoint.…"   2 hours ago   Up 2 hours   0.0.0.0:3344->80/tcp   nginx1
7d14a187ad43   centos    "/bin/bash"              4 hours ago   Up 4 hours                          happy_buck
[root@localhost /opt] #curl localhsot:3344

mark

#进入容器
[root@localhost /opt] # docker exec -it nginx1 /bin/bash

root@77adfb26f924:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx

root@77adfb26f924:/# cd /etc/nginx

root@77adfb26f924:/etc/nginx# ls
conf.d		koi-utf  mime.types  nginx.conf   uwsgi_params
fastcgi_params	koi-win  modules     scgi_params  win-utf

这样就完成了!!方便快捷!!

测试

用主机浏览器登录http://192.168.28.10:3344,测试是否部署成功

mark

Docker安装tomcat

官方版本

docker run -it --rm tomcat

我们之前的启动都是后台,停止之日起之后,容器还是可以查到,但是上述命令一般用于测试,用完之后就删掉了

下载

docker pull tomcat

启动运行

[root@localhost ~] # docker run -d --name tomcat1 -p 3345:80 tomcat
345b5b40cba80bc431b1788c68b649606f65a16d146b274d81582392a8ee5163

测试访问

出现下面的情况,这样是正常的!!!但是,这是什么原因呢?

mark

让我们一起来研究一下!!

1、#进入容器
[root@localhost ~] # docker exec -it tomcat1 /bin/bash

2、#发现问题
(1)Linux缺少命令
(2)webapps内没有内容(即没有网站页面)

root@345b5b40cba8:/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
root@345b5b40cba8:/usr/local/tomcat# cd webapps
root@345b5b40cba8:/usr/local/tomcat/webapps# ls
root@345b5b40cba8:/usr/local/tomcat/webapps# 

3、#所以访问http:192.168.28.10:3345会出现上述画面
因为阿里云镜像默认是最小的,它会把所有的不必要的都剔除掉;只保证了一个最小可运行的环境

要怎么解决上述问题呢?

1、在进入容器后,查看有什么文件ls
root@345b5b40cba8:/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

2、发现有一个webapps.dist文件

3、进入webapps.dist文件,查看ls,发现本该有的文件全都在这里
root@345b5b40cba8:/usr/local/tomcat# cd webapps.dist
root@345b5b40cba8:/usr/local/tomcat/webapps.dist# ls
ROOT  docs  examples  host-manager  manager

4、我们可以把这个文件中的内容全部复制出去,或者把这个文件命名为webapps
这里我把它复制到webapps目录中
cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps

root@345b5b40cba8:/usr/local/tomcat/webapps.dist# cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps
root@345b5b40cba8:/usr/local/tomcat# cd webapps
root@345b5b40cba8:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager

测试

mark

这样就成功了!!

部署es+kibana

1、es录露的端口很多!如:9200、9300

2、es 十分的耗内存

3、es的数据一般需要放置到安全目录!挂载

启动elasticsearch

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

#启动了linux就卡住了

docker stats			#查看cpu的状态

mark

#es是十分耗内存的,如果给的内存很小,那么会很卡!!!

测试

curl localhost:9200
显示如下,说明安装成功
[root@localhost ~] # curl localhost:9200
{
  "name" : "6149368989c6",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "FfV-H9ivTh2usRqnYoM3Rg",
  "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"
}

增加内存限制,修改配置文件

如果你给的内存很小,es很占内存,那么会很卡!!改下么办呢?我们一般会给他增加内存限制

1、关闭es
docker stop elasticsearch
2、增加内存限制,修改配置文件(-e:环境配置修改)
docker run -d --name es1 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

mark

补充:
-e ES_JAVA_OPTS="-Xms64m -Xmx512m"

-e:环境配置修改
ES_JAVA_OPTS		#基本的参数配置
-Xms64m				#最少占64m内存
-Xmx512m			#最多占512m内存

测试

在修改完配置后,es的内存占有率就减少了很多,这样就不卡了!!

我们再来测试一下,es是否部署成功

[root@localhost ~] # curl localhost:9200
{
  "name" : "ee8a3dda70ec",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "s8JV0FudSn6Bhz9HP-bLlQ",
  "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"
}

这样也是成功的!!
mark

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值