menny 发表于 2019-2-20 08:44:13

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

1. 编辑相关脚本

1.1 接入点脚本
  docker-entrypoint.sh

#!/bin/bash
set -e
exec "$@"
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 "
ENV FLINK_HOME /flink
ENV FLINK_VERSION1.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 --hostname flink-node -p 18081:8081 lynn/flink:1.7.1
  在浏览器中输入如下Url:
http://localhost:18081/
  截图如下:
http://i2.运维网.com/images/blog/201812/25/1d55194eed6f565c1e3346ee81aded00.png



页: [1]
查看完整版本: 基于Docker Container运行Flink1.7.1 Local Cluster模式