Come posso Dockerize il mio web api sulle windows

Docker è una piattaforma completa per la creazione di applicazioni containerizzate e Docker for Windows è il modo migliore per iniziare con Docker sui sisthemes Windows.

Le tue domande non sono molto specifiche, ma sembra che tu stai cercando di contenere un'app web web di asp.net. Ecco un indizio fondamentale su ciò che vuoi realizzare utilizzando il docker.

Docker è un sistema di contenitori Linux che significa che è basato sul kernel di Linux e installando il docker nelle windows che stai installando una macchina guest guest Linux per build i tuoi contenitori e personalizzerai i tuoi contenitori per inoltrare le porte che serviranno lo sviluppo di applicazioni da dentro il contenitore la tua macchina host, Così in fondo Come funziona questo? dopo l'installazione del docker, il primo docker ha bisogno di un'image base (linux image) per eseguire i tuoi contenitori, quindi un ottimo posto per trovare le immagini docker è il docker hub , quindi anche per uno scenario di base che ti serve:

1) Tirare un'image.

2) Esegui un contenitore in base a questa image.

Per compiere il numero 1 , usiamo il microsoft dotnet ufficiale docker hub come esempio.

 docker pull microsoft/aspnetcore 

docker pull: tira il dotnet:latest image dal dock hub,: :latest è un tag specificare l'ultima versione stabile di dotnet significa se si desidera un'altra versione di runtime si userà docker pull dotnet:runtime dal suddetto hub dotnet ufficiale hub link troverà i tag sotto i Supported tags

Per realizzare il numero 2 : dobbiamo eseguire un contenitore usando questa image.

 docker run -d -p 8000:80 --name firstwebapptest microsoft/aspnetcore 

docker run: creerà un nome di contenitore firstwebapptest basato su microsoft/aspnetcore inoltrare la port container 80 alla port host 8000 e tutto ciò verrà eseguito come una modalità distaccata -d

E ora controlla il tuo browser localhost:8000

Questo è uno scenario molto semplice utilizzando gli strumenti della row di command del docker. Quindi un altro modo per realizzare questo scenario è quello di utilizzare un file docker che troverai How to use this image nel collegamento ufficiale hub del docker Microsoft dotnet, si presume che tu sia già nella directory app che contiene il tuo myapp.dll compilato. Cosa farai è creare un file chiamato dockerfile in questa directory e scrivere questo all'interno:

 FROM microsoft/aspnetcore WORKDIR /app COPY . . ENTRYPOINT ["dotnet", "myapp.dll"] 

DA: image di base che abbiamo già tirato

WORKDIR: questa sarà la directory all'interno del contenitore linux

COPIA:. . . il primo . sta copiando il contenuto della cartella host all'interno del contenitore il secondo . è la tua directory guest in quel caso sarà /app

ENTREYPOINT: è il command linux che verrà eseguito una volta che questo contenitore è in esecuzione in quel caso dotnet myapp.dll significa che stai eseguendo il command dotnet dal contenitore linux all'interno dell'applicazione WORKDIR /app con tutta la struttura dell'applicazione di directory host che contiene il tuo compilato myapp.dll. che abbiamo già copiato COPY . . COPY . .

quindi ora abbiamo il file dockerfile tutto quello di cui abbiamo bisogno è build e gestirlo.

 docker build -t secondwebapptest . docker run -d -p 8001:80 secondwebapptest 

docker build: creerà un contenitore denominato -t secondwebapptest da . il punto si riferisce al file docker appena creato e che si è già nella directory di lavoro altrimenti devi specificare un path al file docker usando -f ma questo non è il nostro caso.

docker run: eseguirà il contenitore già creato che denominato secondwebapptest basato secondwebapptest della port container 80 alla port host 8001 e tutto ciò functionrà come una modalità distaccata -d .

E ora controlla il tuo browser localhost:8001