• 云端_应用程序容器化docker-docker Compose


    使用docker-compose进行构建集群并运行

      Linux:cat /proc/version
      docker:  Docker version 20.10.6
      flink-docker: java flink 版本
      docker-compose:  docker-compose version 1.29.2
     docker-Docker Compose -- Kubernetes
     01.应用程序 docker化-dockerfile: 构建单个服务镜像,以脚本形式
     02. Docker Compose 与Kubernetes相比,Docker Compose非常轻巧 
     允许开发人员在单个YAML文件中定义基于容器的应用程序。 此定义包括使用的Docker映像,暴露的端口,依赖项,网络等
      Docker Compose环境中,所有容器均在一台主机上运行。 Docker Compose创建了一个本地网络,这些容器都是容器的一部分
     03.Kubernetes通常使用多个节点,可以动态添加或删除这些节点 -Kubernetes通常在称为节点的多个服务器上运行-多节点管理Docker
    

    0.前置操作:

    安装好docker
     安装好docker-compose  
      cp docker-compose-Linux-x86_64  /usr/local/bin/docker-compose
      sudo chmod +x /usr/local/bin/docker-compose
    

    1.使用docker-compose进行构建--Docker Compose单台主机

     01.安装docker-compose
        安装后执行命令进行验证 docker-compose --version
     02.创建一个名为docker-compose.yml的文件-编辑内容后,保存 
     version: '2'
     services:
     jobmanager:
       image: flink:latest
       environment:
        - JOB_MANAGER_RPC_ADDRESS=jobmanager
       expose:
        - "6123"
       ports:
        - 8081:8081/tcp
       command:
        - jobmanager
     taskmanager:
      image: flink:latest
      expose:
        - "6121"
        - "6122"
      depends_on:
        - jobmanager
      environment:
        - JOB_MANAGER_RPC_ADDRESS=jobmanager
      command:
      - taskmanager
       
      03.在docker-compose.yml所在的文件夹内执行 
      cd ~/soft
       docker-compose up -d
    

    2.执行Flink程序

      sudo docker exec -it 388e6e988070  /bin/bash
      /opt/flink/bin/flink run /opt/flink/examples/batch/WordCount.jar
    

    3.过程和原理解释

     flink docker启动flink容器的时候,会执行镜像中官方定制的docker-entrypoint.sh脚本文件
     docker logs [容器名]命令查看日 排查日志
     docker history : 查看指定镜像的创建历史
     docker inspect : 获取容器/镜像的元数据
    

    4. docke镜像变成可变配置

    dockefile
      FROM  RUN ENV  ENTRYPOINT CMD COPY
    01.Docker ENTRYPOINT & CMD 理解与实践
     Dockerfiles for building Docker images for Apache Flink
     Dockerfile 文件中,通常都是 ENTRYPOINT 字段会是这样:
         ENTRYPOINT ["docker-entrypoint.sh"]
      位置 /docker-entrypoint.sh
     docker-entrypoint.sh脚本 CONF_FILE="${FLINK_HOME}/conf/flink-conf.yaml"
      配置文件docker中的位置  /opt/flink/conf/flink-conf.yml
    02.gosu是个工具,用来提升指定账号的权限,作用与sudo命令类似,而docker中使用gosu的起源来自安全问题
     docker-compose的yml文件
    

    5.将docker-compose 迁移到k8s

    Docker Compose块将转换为两个单独的部分,即Deployment和Service
    

    参考:

     https://github.com/apache/flink-docker
     使用Docker搭建Flink集群 https://www.icode9.com/content-4-642370.html
     https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/deployment/resource-providers/standalone/docker/
  • 相关阅读:
    最新 Cocos2d-x 3.2 开发环境搭建(windows环境下)
    Apache OFbiz entity engine源代码解读
    Android 标签控件
    标准红外遥控的接收程序-松瀚汇编源程序
    uva 10548
    char* 和char[]的差别
    依据波形的转折点文件,转换成波形文件
    spring 中StoredProcedure的使用方法
    JMS的样例
    JavaScript高级编程
  • 原文地址:https://www.cnblogs.com/ytwang/p/15353024.html
Copyright © 2020-2023  润新知