Docker中Nginx,部署Tomcat,部署es + kibana,Docker的可视化,Commit镜像
docker安装使用Nginx
# 搜索信息
docker search nginx
# 下载镜像
docker pull nginx
# 运行测试
# --name给容器命名
# -p 宿主机端口:容器内部端口
docker run -d --name nginx01 -p 3344:80 nginx
# 访问
curl localhost:3344
# 进入nginx
docker exec -it nginx01 /bin/bash
# 查看
whereis nginx
- 运行成功

- 本机查看,需要连接linux,访问http://192.168.40.128:3344/

- 端口暴露的概念

- 存在的问题
每次改动nginx配置文件,都需要进入容器内部,十分的麻烦,我要是可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改---数据卷
Docker部署tomcat
# 官方的使用
docker run -it --rm tomcat:9.0
# 我们之前的启动都是后台,停止了容器之后,容器还可以查到 docker run -it --rm ——一般用来测试,用完删除
# 下载再启动
docker pull tomcat
# 启动运行
docker run -d -p 3355:8080 --name tomcat01 tomcat
# 测试访问没有问题
# 进入容器
docker exec -it tomcat01 /bin/bash
# 发现问题:1.linux命令少了;2.没有webapps,镜像原因,默认为最小的镜像,不必要的都已经被删除
# 访问http://192.168.40.128:3355/ 404 ——解决 将webapps.dist下的内容复制到webapps,重新访问
cp -r webapps.dist/* webapps
部署 es + kibana
elasticsearch
# es 暴露的端口多 十分的耗内存 es的数据一般都需要放置到安全目录。挂载
# --net somenetwork ? 网络配置
# 启动 但是十分消耗内存
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.17.3
# 优化,增加内存限制 ,修改配置文件 -e 环境配置修改
docker run -d --name elasticsearch01 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.17.3
# 查看状态 docker stats
docker ps
docker stats 容器id
# 访问
curl localhost:9200

- 原理

Docker的可视化
# 下载
docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v privileged=true portainer/portainer
# 访问 ip:8088
Commit镜像
docker commit 提交容器成为一个新的副本
# 命令和git原理类似
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
# 测试
docker commit -a="user" -m="add webapps app" 2cfba1df2cdf tomcat01
docker ps

浙公网安备 33010602011771号