Una guia per a principiants per a una construcció de Docker multietapa

Una Guia Per A Principiants Per A Una Construccio De Docker Multietapa



La compilació en diverses etapes de Docker és el procés d'especificar una sèrie de compilacions en un Dockerfile. En altres paraules, el Dockerfile conté múltiples ' DE ” en un únic fitxer i la instrucció new from utilitza instruccions base diferents o anteriors. La compilació multietapa permet als desenvolupadors desglossar el procés de desenvolupament en diverses etapes. A més, la instrucció base es coneix com a instruccions d'instal·lació o configuració, i altres instruccions utilitzen dependències de la instrucció base per funcionar correctament.

Aquest escrit proporcionarà una guia per a una construcció de Docker en diverses etapes.

Una guia per a principiants per a una construcció de Docker multietapa

Per crear una imatge de Docker mitjançant Dockerfile simple i compilacions de Dockerfile en diverses etapes, feu una ullada als mètodes enumerats:







Com crear una imatge Docker senzilla?

Per crear una imatge Docker senzilla mitjançant un fitxer Dockerfile senzill, seguiu les instruccions donades.



Pas 1: obriu el terminal
Des de Windows ' Posada en marxa ”, obriu el terminal Git:







Pas 2: creeu un directori nou
A continuació, creeu un nou directori de projecte amb l'ordre donada:

$ mkdir Multietapa



Després d'això, obriu el directori del projecte amb l'ajuda del ' cd ' comandament:

$ cd Multietapa

Pas 3: creeu un fitxer de programa
Creeu i obriu un fitxer de programa nou per implementar el ' golang ” programa. Per exemple, hem creat un ' main.go ' dossier:

$ nano main.go

Enganxeu el codi proporcionat al ' main.go ' dossier. Aquest programa imprimirà la sortida simple ' Hola! Benvingut al tutorial LinuxHint ” a l'amfitrió local:

importar (
'fmt'
'registre'
'net/http'
)

func manipulador ( w http . ResponseWriter , r * http. Sol·licitud ) {
fmt . Fprintf ( en , 'Hola! Benvingut al tutorial LinuxHint' )
}
func principal () {
http . HandleFunc ( '/' , manipulador )
registre . Fatal ( http . Escolta i serveix ( '0.0.0.0:8080' , nil ))
}

Premeu ' CTRL+O ” per desar els canvis i “ CTRL+X ” per sortir.

Pas 4: creeu DockerFile
Creeu i obriu un nou Dockerfile a l'editor de text Nano mitjançant el ' nano Dockerfile ' comandament:

$ nano Dockerfile

Enganxeu el codi següent dins del ' Dockerfile ” que indicarà al contenidor com desplegar el projecte:

DE Golang: 1.8
DIR. TREBALL / anar / src / aplicació
COPIA main.go .
CÓRRA vés a construir -O servidor web.

CMD [ './servidor web' ]

Premeu ' CTRL+O ' per desar el fitxer i ' CTRL+X ” per sortir de l'editor:

Pas 5: creeu una imatge Docker
Amb l'ajuda de Dockerfile, creeu una nova imatge de Docker a través del ' construcció docker ' comandament. El ' -t ” s'utilitza per especificar l'etiqueta/nom de la imatge:

$ construcció docker -t nova-imatge-web.

Pas 6: executeu Docker Image
Després de crear la imatge de Docker, utilitzeu l'ordre esmentada a continuació per executar la imatge de Docker. El ' -p ” s'utilitza per especificar el número de port on el contenidor Docker executarà el programa:

$ Docker Run -p 8080 : 8080 nova-imatge-web

Després d'això, navegueu a ' http://localhost:8080 ” per comprovar si l'aplicació s'està executant o no:

A la sortida anterior, podeu veure que hem implementat correctament l'aplicació a localhost:

Pas 7: comproveu les imatges de Docker
Finalment, executeu el ' imatges docker ” ordre per comprovar la informació addicional sobre la imatge de Docker acabada de crear:

$ imatges docker imatge web nova

Es pot observar que la mida de la imatge de Docker és massa gran per executar el petit projecte. En aquest escenari, la construcció en diverses etapes es pot utilitzar per reduir la mida de la imatge de Docker:

Com crear una imatge Docker des d'un fitxer Dockerfile multietapa?

Per crear un Dockerfile multietapa per desglossar els processos de desenvolupament en etapes i reduir la mida de la imatge, feu una ullada als passos proporcionats.

Pas 1: obriu Dockerfile
En primer lloc, obriu el fitxer Dockerfile al ' Nano editor de text ” mitjançant la comanda esmentada:

$ nano Dockerfile

Pas 2: creeu un fitxer Docker multietapa
Enganxeu el codi següent a Dockerfile. Es pot notar que el fitxer Docker conté més d'un ' DE ” declaració, el que significa que estem creant un Dockerfile multietapa:

DE Golang: 1.8 AS base
DIR. TREBALL / anar / src / aplicació
COPIA main.go .
CÓRRA vés a construir -O servidor web.

DE l'alpí
DIR. TREBALL / aplicació
CÒPIA --des de =base / anar / src / aplicació / aplicació /
CMD [ './servidor web' ]

Premeu ' CTRL+O ' per desar els canvis i ' CTRL+X ” per sortir de l'editor.

Pas 3: creeu una imatge Docker
Ara, creeu la nova imatge de Docker amb l'ajuda d'una construcció en diverses etapes. Per a això, executeu l'ordre donada:

$ construcció docker -t nova-imatge-web.

De nou, comproveu la informació addicional sobre la imatge de Docker a través del ' imatges de docker ' comandament:

$ imatges docker imatge web nova

La sortida mostra que hem creat correctament un fitxer Docker i la mida del fitxer Docker es redueix a només ' 12,9 MB ”:

Pas 4: executeu Docker Image
Finalment, executeu la imatge de Docker per executar el contenidor per verificar si la imatge de Docker funciona correctament o no:

$ Docker Run -p 8080 : 8080 nova-imatge-web

Obriu el servidor host local navegant a la ' http://localhost:8080 ” al navegador:

La sortida mostra que hem implementat el programa amb èxit mitjançant una compilació de diverses etapes.

Conclusió

La compilació multietapa de Docker especifica la sèrie de compilacions en etapes. Per crear un Dockerfile multietapa, especifiqueu més d'una instrucció 'FROM' i consulteu la primera ' DE ” declaració com a construcció base. Després d'això, creeu una nova imatge de Docker utilitzant el ' docker build -t . ' comandament. La publicació ha elaborat una guia completa per a una construcció de Docker en diverses etapes.