Run KNIME Workflow as Docker Container does not work

Hello everyone,

I tried to use the de.nbi CIBI Extension, in order to get my Workflow running in a container. The first issues i am having (on Windows 10 Pro) is that i can not even built a KNIME Base Image in Docker cause it always prompts that the downloads are not available:
“E: The repository ‘http://ppa.launchpad.net/webupd8team/java/ubuntu focal Release’ does not have a Release file.
The command ‘/bin/sh -c apt-get update && apt-get install -y software-properties-common curl && apt-get install -y tzdata && apt-add-repository -y ppa:webupd8team/java && apt-get update && echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && echo debconf shared/accepted-oracle-license-v1-1 seen true | debconf-set-selections && apt-get install -y libwebkitgtk-3.0-0 && apt-get install -y python python-dev python-pip && apt-get install -y r-base r-recommended && apt-get install -y curl’ returned a non-zero code: 100”

But thats the smaller issue since i can also just create another Docker Image which has all necessary installations. The bigger issue is for sure that i can not export any workflow at all. I always get prompted folling Error:
“KNIME project could not be exported. Reason: Export of workflow did not succeed: java.lang.ClassNotFoundException: org.apache.cxf.client.spec.ClientBuilderImpl cannot be found by de.nbi.cibi.docker_1.0.0.201806221309”
There was also another Thread where someone descibed the same issue but there was no solution and the Thread was closed already (Export workflow into docker)
I dont really know what to do with that but i would really appreciate help, since its such a great idea running KNIME Workflows in Container.

Thanks in advance!

Kind regards,
Kevin

Hi Kevin,
can you try running KNIME as an administrator and see if that changes anything? The thread you link to has a solution at the bottom: Export workflow into docker.
Kind regards,
Alexander

Hi Alexander,
Thanks for your reply! Anyways i have to say that i already tried to run KNIME as admin. I also added my current user aswell as the Admin to the docker usergroup, but i still always get the same error.
The Problem is also reproducible on all my machines (tried it on 3 different machines) but i always get the same error when I try to export the workflow.

I just dont really know why I get that ClassNotFound Exception. Sorry I can not really add something productive at the moment, but I think there is not much left I could try.

Kind regards,
Kevin

Hi Kevin,
That you can reproduce this on 3 machines really points to a deeper problem. Can you send me your knime.log file so I can have a look at the “inner workings”?
Kind regards,
Alexander

Hello Alexander,

I will attach the log File here. Hopefully it helps.
knime_log.txt (984.7 KB)
Really appreciate the help, thanks a lot.

Kind regards,
Kevin

Hi Kevin,
this looks like the KNIME console output, but there should also be a knime.log file in your workspace under .metadata/knime/knime.log. Can you send me that file?
Kind regards,
Alexander

Hi Alexander,

Excuse that mistake, here you go:
knime_log.txt (53.6 KB)
Should be the right one now.

Kind regards,
Kevin

Hi,
very often after the ClassNotFound error I see a problem with the windows defender:

 Reason: Export of workflows did not succeed: java.lang.ClassNotFoundException: org.apache.cxf.jaxrs.client.spec.ClientBuilderImpl cannot be found by de.nbi.cibi.docker_1.0.0.201806221309
2020-08-20 13:38:57,188 : ERROR : main :  : WindowsDefenderExceptionHandler :  :  : PowerShell command powershell -inputformat none -outputformat text -NonInteractive -Command Get-MpComputerStatus -ErrorAction Stop | select -ExpandProperty AMServiceEnabled did not terminate successfully.
2020-08-20 13:38:57,189 : ERROR : main :  : WindowsDefenderExceptionHandler :  :  : Stderr is:
2020-08-20 13:38:57,189 : ERROR : main :  : WindowsDefenderExceptionHandler :  :  : Get-MpComputerStatus : Es ist ein allgemeiner Fehler aufgetreten, f�r den kein spezifischerer Fehlercode verf�gbar ist.
2020-08-20 13:38:57,189 : ERROR : main :  : WindowsDefenderExceptionHandler :  :  : In Zeile:1 Zeichen:1
2020-08-20 13:38:57,189 : ERROR : main :  : WindowsDefenderExceptionHandler :  :  : + Get-MpComputerStatus -ErrorAction Stop | select -ExpandProperty AMSer ...
2020-08-20 13:38:57,189 : ERROR : main :  : WindowsDefenderExceptionHandler :  :  : + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2020-08-20 13:38:57,189 : ERROR : main :  : WindowsDefenderExceptionHandler :  :  :     + CategoryInfo          : NotSpecified: (MSFT_MpComputerStatus:ROOT\Microsoft\...pComputerStatus) [Get-MpComputerS 
2020-08-20 13:38:57,189 : ERROR : main :  : WindowsDefenderExceptionHandler :  :  :    tatus], CimException
2020-08-20 13:38:57,189 : ERROR : main :  : WindowsDefenderExceptionHandler :  :  :     + FullyQualifiedErrorId : HRESULT 0x800106ba,Get-MpComputerStatus
2020-08-20 13:38:57,189 : ERROR : main :  : WindowsDefenderExceptionHandler :  :  :  

Can you try turning it off just for the sake of testing and then try again?
Kind regards,
Alexander

Hello Alexander,

Sorry for the late answer. I tried to turn off all my Anitvirus software, including all components of Windows Defender, but no chage at all. Later i can also attach the Logs of my Linux machine, which has the exact same issue.

Kind regards,
Kevin

Hi Kevin,
sorry for the late reply. I have no idea what could cause this. It seems kind of random; for some installations it works, for others it does not. If you want, you can extract the Dockerfile and other files from the plugin and build the image manually. Would that be useful for you?
Kind regards,
Alexander

Hello Alexander,

That’s what I will do now. Main thing is that i can containerize at the moment, when I have time I might develope an own solution.
Anyways thank you a lot for trying! This Extension would have been extremely convenient, but am sure it will work somehow.

Kind regards,
Kevin

Hi Kevin,
The solution is built on this image: https://github.com/ibisba/knime-workflow-base. Maybe you can use it as well for your manual solution. Using that image as a base image, building the workflow execution on top is quite convenient.
Kind regards,
Alexander