Compreendendo as compilações de vários estágios do Docker

Compreendendo as compilações de vários estágios do Docker
Construção de vários estágios no Docker Especifica uma série de compilações em um Dockerfile. As instruções do Dockerfile são divididas em várias seções ou níveis e contêm mais de um “DE" declaração. Na construção de vários estágios, o processo de desenvolvimento é dividido em vários etapas. O primeiro comando "de" define a imagem pai ou base, e esta seção contém principalmente as instruções de instalação ou configuração, e as subseções usam as dependências da instrução básica.

Esta posta.

Diferença entre compilação simples e compilação de vários estágios

A construção simples contém apenas um “DE”Para especificar a imagem base. Todas as dependências de instalação e os arquivos de origem são processados ​​em uma única seção. A imagem construída através da construção simples também é enorme em tamanho. No entanto, as construções de vários estágios são divididas em estágios múltiplos e têm várias declarações "de". A construção de vários estágios também é útil na redução do tamanho da imagem. Também pode ser utilizado se os usuários desejarem processar ou criar imagens em pedaços para executar o código nas seções.

Como fazer uma imagem de compilações de vários estágios?

Para criar uma imagem simples do Docker a partir de compilações multistrage, primeiro, crie um Dockerfile de vários níveis. Então, execute o “construir”Comando do Docker para construir a imagem. Para fazer isso, olhe para as etapas dadas.

Etapa 1: Terminal aberto

Primeiro, inicie o terminal do menu Iniciar para usar o Docker CLI. Para isso, utilizaremos o “Git Bash”No Windows:

Abra o diretório/pasta do aplicativo com a ajuda do “cd”Comando:

$ CD MultiStage

Etapa 2: Crie arquivo de código

Em seguida, crie um arquivo de programa. Para esse fim, utilizamos o editor de texto Nano para criar um “principal.ir" arquivo de programa. No entanto, você também pode usar o bloco de notas ou editor de código do Visual Studio:

$ nano Main.ir

Cole o código abaixo dado no arquivo:

importação (
"FMT"
"registro"
"net/http"
)
FuChandler (W HTTP.ResponseWriter, r *http.Solicitar)
fmt.Fprintf (w, "Olá! Bem -vindo ao Tutorial Linuxhint ")

funcmain ()
http.Handlefunc ("/", manipulador)
registro.Fatal (http.ListenAndServe ("0.0.0.0: 8080 ", nil))

Etapa 3: Crie Dockerfile de vários estágios

Em seguida, gerar e abrir “Dockerfile”Em um editor de texto Nano para especificar as instruções de vários estágios para a compilação de vários estágios:

$ Nano Dockerfile

Copie o trecho abaixo no Dockerfile. Aqui, as instruções do Dockerfile são divididas em duas seções:

  • A primeira seção usa o “Golang: 1.8”Como uma imagem base e contém as instruções básicas.
  • A segunda seção utiliza o “alpino”Imagem e define os padrões ou o ponto de entrada através da instrução“ CMD ”:
De Golang: 1.8 como base
Workdir/go/src/app
Cópia principal.ir .
Run Go Build -O WebServer .
De alpino
WorkDir /App
Cópia - -from = base/go/src/app/app/
Cmd ["./servidor web"]

Etapa 4: gerar imagem do docker de vários estágios

Usando um Dockerfile de vários estágios, gerar a imagem através do “Docker Build”Comando. Aqui, para definir a tag/nome de uma imagem, utilizamos o “-t" bandeira:

$ Docker Build -t New-Web-Image .

Verifique se a imagem é criada ou não utilizando o “Imagens do Docker ”Comando:

$ Docker Images New-Web-Image

A saída abaixo mostra que a imagem é criada e o tamanho da imagem é apenas “12.9 MB”:

Etapa 4: Execute a imagem do Docker

Para executar a imagem para criar e iniciar um contêiner para implantação do programa, passe pelo comando mencionado. Aqui o "-p”A bandeira é utilizada para alocar a porta exposta do contêiner:

$ Docker Run -P 8080: 8080 New-Web-Image

Visite a porta exposta do host local no navegador para verificar se o contêiner é iniciado ou não:

A partir da imagem acima, pode ser liberado que implantamos o programa através da compilação de vários estágios.

Conclusão

Na construção de vários estágios, o processo de desenvolvimento é dividido em vários etapas. O DockerFile é dividido em várias seções e possui múltiplos “DE" declarações. Pode ser utilizado se os usuários desejarem processar ou criar imagens em pedaços para executar o código nas seções. A construção de vários estágios também é útil na redução do tamanho da imagem. Este artigo demonstrou o entendimento básico das compilações com vários estágios do Docker.