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
posted @ 2022-05-04 10:59  你在学什么  阅读(165)  评论(0)    收藏  举报