OcrMinion icon indicating copy to clipboard operation
OcrMinion copied to clipboard

Docker image pro Windows 10

Open martinsuchan opened this issue 5 years ago • 15 comments

Aktuálně je dostupný docker image jen pro linux/amd64.

Pokud je tesseract-ocr dostupný i pro Windows, nebylo by na škodu přidat image i pro Docker on Windows.

martinsuchan avatar Nov 18 '19 14:11 martinsuchan

Teoreticky asi můžeme, ale používá někdo windows dockery (osobně jsem se s tím nesetkal)? I když mám nainstalovanej docker ve Windows, tak primárně používám linux based docker image.

suchoss avatar Nov 18 '19 21:11 suchoss

Ahoj, možná to chápu špatně, ale já ten image na Win10 normálně rozjel v 6 instancích.

beavisss avatar Nov 19 '19 00:11 beavisss

@neberudrogy V pohodě. U Dockeru je to tak, že hostovací systém musí mít stejný kernel, jako je kernel v Docker image. To, že můžeš na Win 10 rozjet linux based docker image je díky Hyper-V. Na pozadí se totiž děje to, že Windows vytvoří virtuální Linux a až v něm spustí Docker image.

Hezky popsaný je to tady

suchoss avatar Nov 19 '19 07:11 suchoss

@suchoss jedna varianta je rozjet linux jako VM na Hyper-V, ale obecně jednodušší je využít Windows Subsystem for Linux, kde lze také hostovat linuxové Docker image.

martinsuchan avatar Nov 19 '19 08:11 martinsuchan

@martinsuchan prosím, oprav mě, jestli teď píšu nesmysl. Ale měl jsem za to, že Windows Subsystem for Linux nedělá nic jiného, než že rozjede Ubuntu v Hyper-V. Btw. budeš mít využití pro ten Docker on Windows? Protože si myslím, že je to pro mě dost práce (hlavně rozjet ten tesseract ve windows), tak abych to nedělal jen aby to bylo hotové.

suchoss avatar Nov 19 '19 08:11 suchoss

Mám pod WIN10 Docker, ale spouštím Linux image. Koho znám, má to stejně.

cebreus avatar Nov 19 '19 12:11 cebreus

@suchoss Tak to právě není. WSL je mnohem více provázáno se samotnými Windows, než nějaká virtuálka. WSL provides a Linux-compatible kernel interface developed by Microsoft (containing no Linux kernel code), which can then run a GNU user space on top of it, such as that of Ubuntu, openSUSE, SUSE Linux Enterprise Server, Debian and Kali Linux.

Dobré technické overview je popsáno třeba zde: https://channel9.msdn.com/Blogs/Seth-Juarez/Windows-Subsystem-for-Linux-Architectural-Overview

Byla představena i nadcházející verze WSL 2, která vyjde ve Windows 10 H1 a která obsahuje některé zásadní architekturní změny, které povedou např k výrazně vyšším rychlostem při práci s filestémem a lepší podporu system callů https://devblogs.microsoft.com/commandline/announcing-wsl-2/

martinsuchan avatar Nov 19 '19 12:11 martinsuchan

@cebreus Mám to stejně. Offtopic: funguje ti Docker pod Win 10 dobře? Mně se celkem často stává, že musím po restartu pc službu dockeru ještě manuálně restartovat, protože přestane fungovat.

@martinsuchan Díky. Na články se podívám.

suchoss avatar Nov 19 '19 13:11 suchoss

Právě jsem pustil na Ubuntu ve WSL2 benchmark CPU a výsledky jsou totožné jako v Ubuntu v Hyper-V. Ve WSL2 Ubuntu funguje Docker stejně dobře jako v Hyper-V, což se nedá říct o WSL1 kde Docker nejde vůbec.

KosakAlmighty avatar Nov 19 '19 20:11 KosakAlmighty

@KosakAlmighty WSL hlavně přináší komfort v tom, že lze rozchodit funkční linuxové jádro ve Windows v podstatě na pár kliknutí, lze velmi snadno sdílet kód mezi Windows a Linuxem a např vyvíjet appku v Pythonu ve VS Code ve Windows a testovat jí ve WSL s remote debugem. I ten Docker se ve WSL 1 dá rozjet: https://nickjanetakis.com/blog/setting-up-docker-for-windows-and-wsl-to-work-flawlessly

martinsuchan avatar Nov 20 '19 08:11 martinsuchan

Ja vím, já jen, že čistě pro OCR Miniony není, co se výkonu týče, žádná výhoda. S tím Dockerem ve WSL, je to takový drbat se levou rukou za pravým uchem. Stejně člověk potřebuje Docker Desktop, který vytvoří Virtual v Hyper-V s dost omezenými prostředky a nedá se to přenastavit, alespoň ne jednoduše. A ve WSL se jen klientem člověk připojí k Docker Desktop, který je vlastně jen připojený k tomu VM v Hyper-V.

KosakAlmighty avatar Nov 20 '19 11:11 KosakAlmighty

Ahoj, možná to chápu špatně, ale já ten image na Win10 normálně rozjel v 6 instancích.

Tez jsem rozbehl Docker OCR Miniona na Windows 10 Pro [Version 10.0.18362.418].

Pocatecni chybove hlasky:

docker: image operating system "linux" cannot be used on this platform.

Jsem se zbavil:

  • right-clickem na Docker Desktop
  • Switch to Linux Containers

drTentacle avatar Nov 20 '19 18:11 drTentacle

@drTentacle ano, cílem tohoto ticketu je ale vytvoření nativních Windows kernel Docker imagů, pokud by to bylo možné.

martinsuchan avatar Nov 21 '19 08:11 martinsuchan

Aha, tak to jsem nepochopil. Sorry, že jsem unesl téma :/

KosakAlmighty avatar Nov 21 '19 09:11 KosakAlmighty

Momentálně toto nemáme v plánu dělat. Pokud se najde dobrovolník, který vytvoří Dockerfile pro Win kontejner, tak rád zmerguju pull request.

Aplikace je připravená i pro použití ve windows. Stačí připravit Dockerfile založený na Win kontejneru s .NET runtime, tesseractem (4.0.0) spolu s jazykovými sadami (ces,eng,slk a deu). V Env variables pak musí být zaregistrovaná cesta k tesseract, aby to šlo spustit obyčejným příkazem v cmd tesseract in.jpg out.txt -l ces --psm 1 --dpi 300

Díky

suchoss avatar Nov 27 '19 11:11 suchoss