• Docker学习笔记(三)


    Docker学习笔记(三)

    1.布署nginx

    1. 先使用docker pull nginx下载镜像

    2. 查看镜像
      在这里插入图片描述

    3. 启动容器,给容器命名以及暴露端口号
      在这里插入图片描述

    4. 本机自测

    [root@jiang home]# curl localhost:3344
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
    html { color-scheme: light dark; }
    body { width: 35em; margin: 0 auto;
    font-family: Tahoma, Verdana, Arial, sans-serif; }
    </style>
    </head>
    <body>
    <h1>Welcome to nginx!</h1>
    <p>If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.</p>
    
    <p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br/>
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>
    
    <p><em>Thank you for using nginx.</em></p>
    </body>
    </html>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    端口暴露的概念

    在这里插入图片描述在这里插入图片描述

    思考问题:我们每次改动nginx配置文件,都需要进入容器内部?十分的麻烦,我要是可以在容器外部提供一个映射路径,达到在容器外修改文件名,容器内部就可以自动修改?-v 数据卷

    2.Tomcat安装

    # 官方的使用
    docker run -it --rm tomcat
    # 我们之前的启动都是后台,停止了容器之后,容器还是可以查到docker run -it --rm,一般用来测试,用完就删除。
    在这里插入图片描述
    # 下载 docker pull tomcat

    在这里插入图片描述
    在这里插入图片描述
    # 启动运行 docker run -d --name="tomcat01" -p 3355:8080 tomcat

    在这里插入图片描述
    # 测试访问没有问题,但是找不到资源
    # 进入容器,有一个webapps文件夹和webapps.dist文件夹

    webapps下面没有资源
    在这里插入图片描述

    # 发现问题:(阿里云镜像的原因:默认是最小的镜像,所有不必要的都剔除掉)保证最小可运行的环境
    # 1、Linux命令少了。
    # 2、没有webapps文件夹。
    # 没有webapps文件夹,发现有一个webapps.dist文件夹,资源在webapps.dist文件夹下;
    # 把webapps.dist文件夹下的文件复制到webapps文件夹下,就可以访问成功。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    cp -r webapps.dist/* webapps将文件复制到webapps目录下
    在这里插入图片描述

    在这里插入图片描述

    提醒:前面的3355是映射的,也就是内部tomcat8080映射给3355,然后通过宿主(Linux的ip地址访问)

    思考问题:我们以后要部署项目,如果每次都要进入容器是不是十分麻烦?我要是可以在容器外部提供一个映射路径,webapps,我们在外部放置项目,就自动同步到内部就好了!

    3.部署ES+kibana

    下载elasticsearch

    # es暴露的端口很多!
    # es十分的耗内存!
    # es的数据一般需要放置到安全目录!挂载
    # 下载启动elasticsearch
    docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
    # 启动了linux就卡住了,es是十分耗内存的(1核2G)
    # 查看cpu的状态
    docker stats 
    # 测试一下es是成功的
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述
    启动发现占用内存很多,敲命令很卡
    在这里插入图片描述

    # 赶紧关闭,增加内存的限制,修改配置文件-e环境配置修改
    docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
    # 可以访问成功;查看cpu状态
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    4.可视化面板

    4.1下载命令

    docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
    
    • 1

    运行启动

    # 启动运行
    docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
    
    • 1
    • 2

    4.2什么是portainer ?

    Docker图形化界面管理工具!提供一个后台面板供我们操作!
    在这里插入图片描述

    在这里插入图片描述选择本地
    在这里插入图片描述

    控制面板读者自行尝试即可,不作为重点。

  • 相关阅读:
    PaddleOCR 更换模型
    spark基础
    中空介孔碳球内生长花瓣状MoS2纳米片|阿霉素/叠氮化合物/氮杂苯甲酸/氨基修饰二硫化钼纳米片DOX-MoS2
    PTE作文练习(一)
    【华为机试真题详解】检查是否存在满足条件的数字组合
    node.js下载安装使用
    Java面试八股2000道,高频经典难题,实力解读(面试成功率达95%,涵盖Java全知识体系+Leetcode算法题+项目实战)
    分享从零开始学习网络设备配置--任务3.8 使用动态路由OSPF实现网络连通
    C++的重大特性之一:继承、菱形继承
    第二章:人工智能深度学习教程-深度学习简介
  • 原文地址:https://blog.csdn.net/qq_52166656/article/details/127703573