首页 > 其他分享 >构建私有仓库 flink image 镜像

构建私有仓库 flink image 镜像

时间:2023-04-18 17:59:03浏览次数:37  
标签:FLINK gosu -- image flink conf HOME 镜像

可以自己编译,或者下载

编译

cd ${flink-root}
mvn install -DskipTests

# 编译成功后,压缩成tar.gz
 cd ./flink-dist/target/
 
 tar -cvf flink-1.18-SNAPSHOT-bin.tar.gz ./flink-1.18-SNAPSHOT-bin

下载

准备 gosu

docker-entrypoint.sh 需要使用到 gosu

https://github.com/tianon/gosu/releases/download/1.11/gosu-amd64
https://github.com/tianon/gosu/releases/download/1.11/gosu-amd64.asc

Dockefile

flink原始的 https://github.com/apache/flink-docker

我这边换了一个底层镜像,其他的都是类似

FROM openjdk:8-jre

ENV FLINK_TAR=flink-1.18-SNAPSHOT.tar.gz
COPY gosu-amd64 /usr/local/bin/gosu
COPY gosu-amd64.asc /usr/local/bin/gosu.asc

# Install dependencies
RUN set -ex; \
  apt-get update; \
  apt-get -y install gpg libsnappy1v5 gettext-base libjemalloc-dev; \
  rm -rf /var/lib/apt/lists/*

COPY $FLINK_TAR $FLINK_HOME
# Install dependencies
ENV GOSU_VERSION 1.11
RUN set -ex; \
  export GNUPGHOME="$(mktemp -d)"; \
  for server in ha.pool.sks-keyservers.net $(shuf -e \
                          hkp://p80.pool.sks-keyservers.net:80 \
                          keyserver.ubuntu.com \
                          hkp://keyserver.ubuntu.com:80 \
                          pgp.mit.edu) ; do \
      gpg --batch --keyserver "$server" --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; \
  done && \
  gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \
  gpgconf --kill all; \
  rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
  chmod +x /usr/local/bin/gosu; \
  gosu nobody true


# Prepare environment
ENV FLINK_HOME=/opt/flink
ENV PATH=$FLINK_HOME/bin:$PATH
RUN groupadd --system --gid=9999 flink && \
    useradd --system --home-dir $FLINK_HOME --uid=9999 --gid=flink flink
WORKDIR $FLINK_HOME

ENV FLINK_HOME=/opt/flink
# Change
COPY $FLINK_TAR $FLINK_HOME

# Install Flink
RUN set -ex; \
  tar -xf $FLINK_TAR -C $FLINK_HOME --strip-components=1; \
  rm $FLINK_TAR; \
  chown -R flink:flink .; \
  sed -i 's/rest.address: localhost/rest.address: 0.0.0.0/g' $FLINK_HOME/conf/flink-conf.yaml; \
  sed -i 's/rest.bind-address: localhost/rest.bind-address: 0.0.0.0/g' $FLINK_HOME/conf/flink-conf.yaml; \
  sed -i 's/jobmanager.bind-host: localhost/jobmanager.bind-host: 0.0.0.0/g' $FLINK_HOME/conf/flink-conf.yaml; \
  sed -i 's/taskmanager.bind-host: localhost/taskmanager.bind-host: 0.0.0.0/g' $FLINK_HOME/conf/flink-conf.yaml; \
  sed -i '/taskmanager.host: localhost/d' $FLINK_HOME/conf/flink-conf.yaml;

# Configure container
COPY docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]
EXPOSE 6123 8081
CMD ["help"]

编译docker 镜像

ls -al ./
# 结构如下
-rwxrwxr-x 1 chouc chouc      5285  4月 14 15:22 docker-entrypoint.sh
-rw-rw-r-- 1 chouc chouc      3021  4月 18 15:20 Dockerfile
-rw-rw-r-- 1 chouc chouc 540866560  4月 15 19:38 flink-1.18-SNAPSHOT.tar.gz
-rw-rw-r-- 1 chouc chouc   2294944  4月 17 16:19 gosu-amd64
-rw-rw-r-- 1 chouc chouc       566  4月 17 17:04 gosu-amd64.asc
docker build ./ -t tmaster:5000/flink:1.18-SNAPSHOP

push 到私有仓库

docker push tmaster:5000/flink:1.18-SNAPSHOT

Demo

在flink-conf.yaml修改镜像

kubernetes.container.image.ref: tmaster:5000/flink:1.18-SNAPSHOT

在linux 上启动 kubernetes-session

./bin/kubernetes-session.sh

标签:FLINK,gosu,--,image,flink,conf,HOME,镜像
From: https://www.cnblogs.com/chouc/p/17330527.html

相关文章

  • <image>不显示
    https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/image换成:文档中显示图片的正确方式:文档中显示图片更强大的方式:图像元素已弃用:不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的web标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要......
  • SQL Server Endpoint 与 镜像、AlwaysOn身份验证
    若要加入 AlwaysOn可用性组 或数据库镜像,服务器实例上必须创建自己专用的“数据库镜像端点”(databasemirroringendpoint)。 此端点用途特殊,专门用于接收来自其他实例的连接。数据库镜像端点使用TCP协议在参与数据库镜像会话或承载可用性副本的实例之间发送和接收消息。 数......
  • docker入门之三:docker构建私有镜像入门到实践
    1.docker构建私有镜像1.1.使用Dockerfile定制镜像1.2.构建镜像1.docker构建私有镜像1.1.使用Dockerfile定制镜像在空目录创建文件,命名为Dockerfile[hadoop@hadoop101file]$cddocker/[hadoop@hadoop101docker]$mkdirmydockerfile[hadoop@hadoop101dock......
  • 从容器镜像构建虚拟机镜像——d2vm工具介绍
    从容器镜像构建虚拟机镜像——d2vm工具介绍简介容器镜像是容器技术的核心组成部分之一,得益于基于UnionFS的多层次容器镜像,开发者在构建镜像时能够做到对已有镜像层的高度复用,而在使用镜像时也能够较大程度上节约磁盘空间和网络带宽,从而为容器技术的广泛流行奠定了基础。虚拟机......
  • 配置淘宝镜像
    1.npm淘宝镜像npmconfigsetregistryhttps://registry.npm.taobao.org,切换国内镜像,使用淘宝镜像npmconfiggetregistry,查看当前镜像使用的地址,返回成功,则代表设置成功代码执行情况: 如果国内镜像使用不合适,则可切换为默认镜像(国外)命令如下:npmconfigsetregistryhttps......
  • flink
    指定TM内存模型的方式整个TM内存模型可以通过三种方式来指定   通过指定taskmanager.memory.task.heap.size和taskmanager.memory.managed.size来确定   通过指定taskmanager.memory.flink.size也就是TotalFlinkMemory大小   通过指定*taskmanager.memory.p......
  • VMware中安装系统提示windows无法显示可用的安装镜像
    在虚拟机设置里将软盘删除即可......
  • Dockerfile自定义镜像
    常见的镜像在DockerHub就能找到,但是我们自己写的项目就必须自己构建镜像了。镜像结构镜像是将应用程序及其需要的系统函数库、环境、配置、依赖打包而成。我们以MySQL为例,来看看镜像的组成结构:简单来说,镜像就是在系统函数库、运行环境基础上,添加应用程序文件、配置文件、......
  • 交换机镜像口配置
    H3C交换机配置镜像端口配置步骤1.进入配置模式:system-view;2.创建本地镜像组:mirroring-group1local3.为镜像组配置源端口:mirroring-group1mirroring-port4.为镜像组配置目的端口:mirroring-group1monitor-port配置举例1.<sysname>system-vies     (进入配置模式)2.......
  • 企业级镜像仓库Harbor
    Harbor私有仓库安装1.安装Docker和DockerComposeDockerCE支持64位版本CentOS7,并且要求内核版本不低于3.10,CentOS7满足最低内核的要求,所以我们在CentOS7安装Docker。1.1.卸载(可选)如果之前安装过旧版本的Docker,可以使用下面命令卸载:yumremovedocker\......