Docker安装Nginx
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
端口暴露的端口
我们购买阿里云服务器,我们访问容器的过程:
- 开启阿里云安全组的3344端口
- 通过外网访问阿里云的linux服务器的3344端口
- linux服务器的3344端口映射到容器内的80端口
- 那么我们访问阿里云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网络通信