Docker——部署常用镜像

  1. 部署nginx:暴露端口

    #下载nginx
    docker pull nginx
    
    #运行nginx
    docker run -d --name nginx2 -p 8081:80 nginx
    -d           #后台挂起
    --name       #对当前运行的容器起名
    -P 443:8080  #主机访问端口:内部容器端口.注意前面的主机端口不能被占用,后面的容器端口必须为80,因为这是nginx默认运行的端口
    
    #测试
    curl localhost:8081
    #相当于直接在服务器上访问自己的8081端口,得到的html
    

    外网端口访问流程:

  2. 部署Tomcat:官方测试以及进入容器查看

    #官方使用:安装并直接运行,但是在运行完成后会将对应的容器删除,多用于测试
    $ docker run -it --rm tomcat:9.0
    -it   #交互
    --rm  #测试使用后直接删除容器
    
    #正常的安装使用
    #安装最新版
    docker pull tomcat
    
    #运行
    docker run -d -p 8081:8080  d5eef28cf41d #注意Tomcat的默认端口是8080,由于本地有两个Tomcat镜像,这里用id启动容器
    
    #测试
    [root@iZwz908j8pbqd86doyrez5Z init.d]# curl localhost:8081
    <!doctype html><html lang="en"><head><title>HTTP Status 404 – Not Found</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 404 – Not Found</h1><hr class="line" /><p><b>Type</b> Status Report</p><p><b>Description</b> The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.</p><hr class="line" /><h3>Apache Tomcat/9.0.37</h3></body></html>
    
    #可以看到这里报的是Tomcat的错误,说明Tomcat启动成功了,但是没有出现正常的安装成功的页面.让我们进入容器看看
    
    #进入容器:
    [root@iZwz908j8pbqd86doyrez5Z init.d]# docker exec -it fc7c340046da /bin/bash
    root@fc7c340046da:/usr/local/tomcat# ls
    BUILDING.txt	 LICENSE  README.md	 RUNNING.txt  conf  logs	    temp     webapps.dist
    CONTRIBUTING.md  NOTICE   RELEASE-NOTES  bin	      lib   native-jni-lib  webapps  work
    root@fc7c340046da:/usr/local/tomcat# cd webapps
    root@fc7c340046da:/usr/local/tomcat/webapps# ls
    root@fc7c340046da:/usr/local/tomcat/webapps#
    
    #可以看到,原来应该放web页面的webapp目录下是空的
    
    #1.linux命令少了
    #2.没有webapps
    #原因:阿里云镜像默认是最小的镜像,所有不必要的都剔除了
    #保证最小可运行的环境
    #解决方法:虽然webapps下面没有东西了,但是webapps.dist文件输出目录下的东西是齐全的,我们只要将webapp.dist目录拷贝到webapp目录下
    root@fc7c340046da:/usr/local/tomcat/webapps# cd /usr/local/tomcat
    root@fc7c340046da:/usr/local/tomcat# cd webapps.dist
    root@fc7c340046da:/usr/local/tomcat/webapps.dist# ls
    ROOT  docs  examples  host-manager  manager
    root@fc7c340046da:/usr/local/tomcat/webapps.dist# cd /usr/local/tomcat
    root@fc7c340046da:/usr/local/tomcat# cp -r webapps.dist/* webapps
    root@fc7c340046da:/usr/local/tomcat# cd webapps.dist
    root@fc7c340046da:/usr/local/tomcat/webapps.dist# ls
    ROOT  docs  examples  host-manager  manager
    
    #测试
    curl localhost:8081  #可以发现已经正常了
    
  3. 部署es+kibana(受内存限制,这里直接部署了限制内存方式运行的容器):如何查看容器状态,以及如何修改相关的配置

    # es 暴露的端口很多
    # es 十分的耗内存
    # es 的数据一般需要放置到安全目录! 挂载
    # --net somenetwork ? 网络配置
    
    #官方部署指令
    $ docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
    
    docker stats  #查看 cpu状态
    
    #解决es过于消耗内存的问题:修改配置文件 -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  #注意带上版本号,否则docker会在本地直接找最新的版本
    -e ES_JAVA_OPTS="-Xms64m -Xmx512m"  #内存消耗只允许在64m-512m之间
    
    #测试
    curl localhost:9200
    
  4. 可视化面板安装(用着玩的)

    • portainer

      docker run -d -p 8088:9000 \  #8088为外部访问地址,9000是内部访问地址
      --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
      

      登陆测试即可

    • Rancher(CI/CD:持续集成/持续部署)

posted @ 2020-09-11 08:17  Arno_vc  阅读(151)  评论(0编辑  收藏  举报