基于Docker Container运行Flink1.7.1 Local Cluster模式

1. 编辑相关脚本

1.1 接入点脚本

docker-entrypoint.sh

#!/bin/bash
set -e

exec "[email protected]"

1.2 启动脚本

start.sh

#!/usr/bin/env bash

bin/start-cluster.sh

while true
do
    echo "======="
    sleep 60s
done

1.3 Dockerfile

FROM lynn/jdk:1.8.0_172
LABEL maintainer="Lynn Yuan <[email protected]>"

ENV FLINK_HOME /flink
ENV FLINK_VERSION  1.7.1
ENV HADOOP_VERSION 27

ENV TAR flink-${FLINK_VERSION}-bin-hadoop${HADOOP_VERSION}-scala_2.11.tgz
ENV TAR_URL http://mirrors.hust.edu.cn/apache/flink/flink-${FLINK_VERSION}/${TAR}

ENV PATH ${FLINK_HOME}/bin:$PATH

RUN set -x         && apt-get update         && apt-get install -y wget vim curl net-tools telnet procps nmap        && wget ${TAR_URL}

RUN set -x         && mkdir ${FLINK_HOME}        && tar zxvf ${TAR} -C ${FLINK_HOME}         && mv ${FLINK_HOME}/flink-${FLINK_VERSION}/*  ${FLINK_HOME}         && rm -rf ${FLINK_HOME}/flink-${FLINK_VERSION}         && rm -rf ${TAR}

ADD docker-entrypoint.sh /docker-entrypoint.sh
ADD start.sh /start.sh
RUN set -x     && chmod +x /docker-entrypoint.sh     && chmod +x /start.sh

WORKDIR ${FLINK_HOME}
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["/start.sh"]

EXPOSE 8081
EXPOSE 6123

2. 使用Dockerfile build image

docker build --rm -t lynn/flink:1.7.1  .

3. 运行容器

docker run -idt --name=flink -p 18081:8081 lynn/flink:1.7.1

在浏览器中输入如下Url:
http://localhost:18081/

截图如下:

原文地址:http://blog.51cto.com/1196740/2335133

时间: 2024-10-29 17:50:19

基于Docker Container运行Flink1.7.1 Local Cluster模式的相关文章

Docker4Windows -- 从外部(非本机host)访问 由docker container运行的程序

背景 当我们在windows 上面运行docker container的时候,我们需要借助于模拟器(例如,Virtual box/Hyper V),她的目的主要是在我们的windows系统上面模拟出一个Linux环境来运行docker engine,从而在实现在windows机器上面跑docker..通常,我们把这个模拟器称理解为为docker machine. 然而,由此产生了一个问题,那就是相对于Linux,我们在Windows上面跑docker的时候,docker与host之间就多出来了一

Docker源码分析(七):Docker Container网络 (上)

1.前言(什么是Docker Container) 如今,Docker技术大行其道,大家在尝试以及玩转Docker的同时,肯定离不开一个概念,那就是“容器”或者“Docker Container”.那么我们首先从实现的角度来看看“容器”或者“Docker Container”到底为何物. 逐渐熟悉Docker之后,大家肯定会深深得感受到:应用程序在Docker Container内部的部署与运行非常便捷,只要有Dockerfile,应用一键式的部署运行绝对不是天方夜谭: Docker Conta

使Docker Container支持运行SWT程序

1, 下载安装JDK的docker container 我是从这个源下载已经做好的JDK8的container: https://registry.hub.docker.com/u/dockerfile/java/ docker run -it --rm dockerfile/java:oracle-java8 2, 添加GUI支持 有好几种方案,我使用的是这种: http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/

进入正在运行的 docker 容器(docker container)

在使用 docker 容器的时候,我们总会想看看容器内部长什么样子:我们使用 docker exec 命令可以满足我们的期望: ? compose docker exec --help Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] Run a command in a running container Options: -d, --detach Detached mode: run command in the backgrou

docker中运行ASP.NET Core Web API

在docker中运行ASP.NET Core Web API应用程序 本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Core以及docker的基本概念,网上已经有很多文章对其进行介绍了,因此本文不会再详细讲解这些内容.对.NET Core和docker不了解的朋友,建议首先查阅与这些技术相关的文档,然后再阅读本文. 先决条件 要完成本文所介绍的演练任

在docker中运行ASP.NET Core Web API应用程序

本文是一篇指导快速演练的文章,将介绍在docker中运行一个ASP.NET Core Web API应用程序的基本步骤,在介绍的过程中,也会对docker的使用进行一些简单的描述.对于.NET Core以及docker的基本概念,网上已经有很多文章对其进行介绍了,因此本文不会再详细讲解这些内容.对.NET Core和docker不了解的朋友,建议首先查阅与这些技术相关的文档,然后再阅读本文. 先决条件 要完成本文所介绍的演练任务,需要准备以下环境: Visual Studio 2015,或者Vi

Docker源码分析(八):Docker Container网络(下)

1.Docker Client配置容器网络模式 Docker目前支持4种网络模式,分别是bridge.host.container.none,Docker开发者可以根据自己的需求来确定最适合自己应用场景的网络模式. 从Docker Container网络创建流程图中可以看到,创建流程第一个涉及的Docker模块即为Docker Client.当然,这也十分好理解,毕竟Docker Container网络环境的创建需要由用户发起,用户根据自身对容器的需求,选择网络模式,并将其通过Docker Cl

一步一步教你搭建基于docker的MongoDB复制集群环境

一步一步教你搭建基于docker的MongoDB复制集群环境 1.安装docker 2.创建MongoDB的Image 3.搭建MongoDB的集群 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中. 1.ubuntu14.04安装docker 参考文档 http://docs.docker.com/installation/ubuntulinux/ 参考文档 http://docs.docker.com/mac/started/ pc@pc-Th

基于 Docker 快速搭建 Oracle 开发环境

要给开发人员搭建 Oracle 测试环境,准备基于 Docker 构建,同时建立一个 Docker 私有仓库,谁需要就让他装一个 Docker,才从这私有仓库 pull 镜像即可. 环境如下: CentOS 7 docker-ce-18.03.1.ce-1.el7.centos.x86_64Oracle 12c 安装Docker # step 1: 安装必要的一些系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2 #