Here it is, copied from the docs essentially:

FROM flink:1.15.0


# install python3: it has updated Python to 3.9 in Debian 11 and so install
Python 3.7 from source
# it currently only supports Python 3.6, 3.7 and 3.8 in PyFlink officially.

RUN apt-get update -y && \
apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev
libffi-dev git && \
wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz && \
tar -xvf Python-3.7.9.tgz && \
cd Python-3.7.9 && \
./configure --without-tests --enable-shared && \
make -j6 && \
make install && \
ldconfig /usr/local/lib && \
cd .. && rm -f Python-3.7.9.tgz && rm -rf Python-3.7.9 && \
ln -s /usr/local/bin/python3 /usr/local/bin/python && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

# install PyFlink
RUN pip3 install apache-flink==1.15.0

And I am running:
docker build --tag pyflink:latest .

This gives the following error:


*#6 64.12          cwd: /tmp/pip-install-9_farey_/pemja/#6 64.12
Complete output (1 lines):#6 64.12     Include folder should be at
'/usr/local/openjdk-11/include' but doesn't exist. Please check you've
installed the JDK properly.*

A side note:
The Dockerfile in the docs is missing git so initially I got the following
error:

*#7 57.73         raise OSError("%r was not found" % name)#7 57.73
OSError: 'git' was not found *

@Weihua Hu <huweihua....@gmail.com> can you please send your working
Dockerfile?

Gyula

On Wed, Jul 6, 2022 at 4:16 AM Weihua Hu <huweihua....@gmail.com> wrote:

> Hi Gyula,
>
> I can build pyFlink image successfully by following this guide. Did you
> add a dependency outside of the documentation? And could you provide your
> Dockerfile
>
>
> https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/deployment/resource-providers/standalone/docker/#using-flink-python-on-docker
>
> Best,
> Weihua
>
>
> On Tue, Jul 5, 2022 at 11:40 PM Gyula Fóra <gyula.f...@gmail.com> wrote:
>
>> Well in any case either the official image is incorrect (maybe we should
>> include JDK by default not JRE) or we should update the
>> documentation regarding the python docker build because it simply doesn't
>> work at the moment.
>>
>> I am still looking for a full working example that adds the required
>> Python packages on top of a Flink 1.15.0 base image :)
>>
>> Gyula
>>
>> On Tue, Jul 5, 2022 at 5:36 PM Weihua Hu <huweihua....@gmail.com> wrote:
>>
>>> In addition, you can try providing the Dockerfile
>>>
>>> Best,
>>> Weihua
>>>
>>>
>>> On Tue, Jul 5, 2022 at 11:24 PM Weihua Hu <huweihua....@gmail.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> The base image flink:1.15.0 is built from openjdk:11-jre, and this
>>>> image only installs jre but not jdk.
>>>> It looks like the package you want to install (pemja) depends on jdk.
>>>> you need install openjdk-11-jdk in dockerfile,
>>>> take a look to how it is installed in the official image:
>>>>
>>>>
>>>> https://hub.docker.com/layers/openjdk/library/openjdk/11-jdk/images/sha256-bc0af19c7c4f492fe6ff0c1d1c8c0e5dd90ab801385b220347bb91dbe2b4094f?context=explore
>>>>
>>>>
>>>> Best,
>>>> Weihua
>>>>
>>>>
>>>> On Tue, Jul 5, 2022 at 3:50 PM Gyula Fóra <gyula.f...@gmail.com> wrote:
>>>>
>>>>> Hi All!
>>>>>
>>>>> I have been trying to experiment with the Flink python support on
>>>>> Kubernetes but I got stuck creating a custom image with all the necessary
>>>>> python libraries.
>>>>>
>>>>> I found this guide in the docs:
>>>>> https://nightlies.apache.org/flink/flink-docs-release-1.15/docs/deployment/resource-providers/standalone/docker/#using-flink-python-on-docker
>>>>>
>>>>> However when I try to build a custom image using it, I get the
>>>>> following error:
>>>>>
>>>>> #7 131.7 Collecting pemja==0.1.4
>>>>> #7 131.8   Downloading pemja-0.1.4.tar.gz (32 kB)
>>>>> #7 131.9     ERROR: Command errored out with exit status 255:
>>>>> #7 131.9      command: /usr/local/bin/python3.7 -c 'import sys,
>>>>> setuptools, tokenize; sys.argv[0] =
>>>>> '"'"'/tmp/pip-install-y6o6djs1/pemja/setup.py'"'"';
>>>>> __file__='"'"'/tmp/pip-install-y6o6djs1/pemja/setup.py'"'"';f=getattr(tokenize,
>>>>> '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"',
>>>>> '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))'
>>>>> egg_info --egg-base /tmp/pip-pip-egg-info-47iid6nm
>>>>> #7 131.9          cwd: /tmp/pip-install-y6o6djs1/pemja/
>>>>> #7 131.9     Complete output (1 lines):
>>>>> #7 131.9     Include folder should be at
>>>>> '/usr/local/openjdk-11/include' but doesn't exist. Please check you've
>>>>> installed the JDK properly.
>>>>>
>>>>> Has anyone seen this before and knows the solution?
>>>>>
>>>>> Thanks
>>>>> Gyula
>>>>>
>>>>

Reply via email to