Docker安装Nginx、部署ES+Kibana

Docker安装Nginx

搜索镜像

docker search nginx

建议去Docker Hub上进行搜索,可以看到帮助文档和信息。

下载镜像

docker pull nginx

我们不默认版本号的话默认是下载最新版本的

启动镜像

我们使用一下命令,指定它的名字,并且指定它的主机端口号:容器端口号

docker run -d --name nginx01 -p 3344:80 nginx
root@taobotics:~# docker run -d --name nginx01 -p 3344:80 nginx
659245826b63cbb41ba0671ad81f08f7abd49f75d60db05b14be4cf82fac973e

启动测试

curl localhost:3344

我们在上面指定了端口地址,访问本机的端口地址,就可以访问到容器的端口地址
在这里插入图片描述
它返回了一个Html页面,说明成功启动了nginx。

进入容器

docker exec -it nginx01 /bin/bash
root@taobotics:~# docker exec -it nginx01 /bin/bash
root@659245826b63:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@659245826b63:/# cd /etc/nginx
root@659245826b63:/etc/nginx# ls
conf.d	fastcgi_params	mime.types  modules  nginx.conf  scgi_params  uwsgi_params
root@659245826b63:/etc/nginx# 

停止容器

docker stop 容器id

端口暴露的端口

在这里插入图片描述
我们购买阿里云服务器,我们访问容器的过程:

  1. 开启阿里云安全组的3344端口
  2. 通过外网访问阿里云的linux服务器的3344端口
  3. linux服务器的3344端口映射到容器内的80端口
  4. 那么我们访问阿里云linux服务器的3344端口就可以访问到容器的80端口

现在我们可以通过外网来访问容器的内容!

但是这样就出现了一个问题,我们每次改动nginx配置文件,都需要进入容器内部?这样是十分麻烦的一件事情,我们要是可以在容器外部提供一个映射路径,达到在容器外部修改文件,容器内部就可以自动修改,这样就非常方便,这就是我们的数据卷的方式

用完即删

docker run -it  --rm 镜像 

这种方式仅仅用于测试

部署ES+Kibana

问题

  • es 暴露的端口很多
  • es 十分耗内存
  • es 的数据一般需要放置到安全目录

下载启动

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node"  -e ES_JAVA_OPTS=“-Xms64m -Xms512m”  elasticsearch:7.6.2

你启动后会发现,如果你是学生机1核2G的话,linux服务器非常卡顿,因此我们要解决它的耗内存问题。

查看CPU状态

docker stats

测试es

curl localhost:9200

增加内存的限制

修改配置文件 -e 进行环境修改

docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node"  -e ES_JAVA_OPTS=“-Xms64m -Xms512m”  elasticsearch:7.6.2

我们这里设置最大是占用64m到512m之间。

我们是需要通过Kibana来连接ES,这个时候就涉及容器之间的通信了,后面涉及我们的Docker网络通信
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_46983722/article/details/124737830