Como gerar uma imagem Docker a partir de um contêiner

Como Gerar Uma Imagem Docker A Partir De Um Conteiner



As imagens Docker são um dos principais componentes da plataforma Docker e desempenham um papel essencial na construção, implantação e envio de aplicativos Docker dentro do contêiner. Imagens Docker são modelos ou instantâneos de contêineres que instruem o contêiner sobre como conteinerizar e implantar o aplicativo. Milhares de imagens oficiais estão disponíveis no registro do Docker Hub para conteinerizar o aplicativo. No entanto, os usuários também podem criar essas imagens de acordo com seus requisitos usando o serviço Dockerfile e Docker Compose.

Às vezes, os usuários fazem alterações no contêiner e nas configurações, mas essas alterações não são confirmadas na imagem do Docker. Para salvar as alterações do contêiner na imagem ou criar o backup do contêiner, os usuários são obrigados a criar uma nova imagem a partir do contêiner. Para esse efeito específico, o “ confirmação do docker ”O comando pode ser utilizado.

Este guia demonstrará:







O que é o comando “docker commit”?

O ' confirmação do docker ”O comando é um dos utilitários de linha de comando do Docker usado para confirmar as alterações e configurações do contêiner na imagem do Docker. Ele também é usado para criar o backup do contêiner quando os usuários são obrigados a organizar o Docker removendo os contêineres do Docker. No entanto, o comando docker commit inclui apenas o arquivo contêiner e as alterações de configuração na imagem Docker, ele nunca salvará os dados do volume que é montado com o contêiner.



Sintaxe



confirmação do docker < OPÇÕES > < Nome do contêiner / ID do contêiner > < Nome da imagem >

Opções





As seguintes opções são usadas com o “ confirmação do docker ”Comando para criar uma imagem de um contêiner de diferentes maneiras:

< forte > Opção forte td >
< td >< forte > Descrição forte td >
tr >
< tr >
< td >< forte > -a, --autor forte td >
< td > É usado para especificar o nome do autor que está confirmando as alterações do contêiner em a imagem. td >
tr >
< tr >
< td >< forte > -c, --mudar forte td >
< td > Adicione as instruções do Dockerfile para confirmar as alterações em uma imagem. td >
tr >
< tr >
< td >< forte > -m, --mensagem forte td >
< td > Adicione a mensagem ou comentário do commit enquanto gerando uma imagem do contêiner. td >
tr >
< tr >
< td >< forte > -p, --pausa forte td >
< td > Ao confirmar o contêiner, por padrão, o contêiner será interrompido ou pausado. Para impedir a pausa do contêiner, o “ < forte > --pausa= falso forte > ”A opção é usada.

Como gerar uma imagem de um contêiner Docker?

Quando o usuário faz alterações no contêiner do Docker diretamente por meio do shell do contêiner ou de forma não interativa, essas alterações não modificam o instantâneo do contêiner. Para salvar ou confirmar modificações, o usuário pode gerar uma nova imagem do contêiner usando o botão “ confirmação do docker ” comando. Isso também é útil para criar o backup do contêiner.



Para criar uma imagem por meio do contêiner Docker, siga a ilustração a seguir.

Etapa 1: crie o Dockerfile

Primeiro, crie um novo arquivo chamado “ Dockerfile ”E não adicione nenhuma extensão de arquivo com o nome do arquivo. Depois disso, cole os seguintes comandos no “Dockerfile”

DE nginx: mais recente

COPIAR index.html / usr / compartilhar / nginx / HTML / index.html

PONTO DE ENTRADA [ 'nginx' , '-g' , 'daemon desligado;' ]

Aqui o ' DE ”É utilizado para definir a imagem base do contêiner, o“ CÓPIA DE ”O comando copia o arquivo do programa para o caminho especificado do contêiner e o“ PONTO DE ENTRADA ”O comando define os executáveis ​​padrão do contêiner.

Etapa 2: criar arquivo de programa

Em seguida, crie outro arquivo “ index.html ”E adicione o seguinte código HTML ao arquivo:

< HTML >

< cabeça >

< estilo >

corpo {

cor de fundo: rgb ( 9 , 4 , 4 ) ;

}

h1 {

cor:rgb ( 221 , 219 , 226 ) ;

estilo da fonte: itálico;

}

estilo >

cabeça >

< corpo >

< h1 > Esta é a primeira página HTML h1 >

corpo >

HTML >

Etapa 3: construir o instantâneo do contêiner

Agora, gere o snapshot do contêiner a partir do Dockerfile usando o comando abaixo. Aqui o ' -t ”A opção é utilizada para definir o nome do instantâneo:

construção do docker -t demo-img .

Etapa 4: execute o instantâneo para iniciar o contêiner

Em seguida, inicie o contêiner executando a imagem do contêiner. Para tanto, utilize o “ docker run ”comando:

execução do docker -p 80 : 80 --nome demonstração-cont -d demonstração-img

No comando acima, o “ -p ”Opção define a porta de exposição do contêiner,“ -nome ”especifica o nome do contêiner e o“ -d ”Opção executa o contêiner em modo desanexado:

Após executar o contêiner, navegue até “ http://localhost:80 ”URL e verifique se o programa em contêiner está acessível na porta de exposição ou não:

A saída acima mostra que iniciamos o contêiner com sucesso.

Etapa 5: crie um novo arquivo de programa

Às vezes, os usuários podem ser solicitados a adicionar funcionalidades adicionais ao aplicativo em execução. Para tanto, o usuário pode precisar fazer alterações no arquivo do programa ou adicionar arquivos adicionais à aplicação.

Para isso, vamos criar outro arquivo chamado “ index1.html ”E cole o seguinte código no arquivo:

< HTML >

< cabeça >

< estilo >

corpo {

cor de fundo: rgb ( 106 , 103 , 103 ) ;

}

h1 {

cor:rgb ( 221 , 219 , 226 ) ;

estilo da fonte: itálico;

}

estilo >

cabeça >

< corpo >

< h1 > Esta é a segunda página HTML h1 >

corpo >

HTML >

Etapa 6: copiar o novo arquivo de programa no contêiner

Para copiar o novo arquivo para o caminho do contêiner, utilize o “ docker cp : ” comando. Aqui, copiamos o “ index1.html ”Arquivo para o“ demonstração-cont ”caminho especificado do contêiner:

janela de encaixe CP index1.html demonstração-cont: / usr / compartilhar / nginx / HTML / index1.html

Etapa 7: confirmar as alterações do contêiner na nova imagem

Depois de fazer alterações em um contêiner, os usuários são obrigados a confirmar as alterações em uma nova imagem do Docker. Esta imagem será gerada através de um contêiner Docker. Para isso, execute o “ docker commit ”comando:

docker commit demo-cont new-demo-img

Observação: Fazendo alterações no contêiner Docker antes de gerar a imagem por meio de “ confirmação do docker ”O comando não é obrigatório. Os usuários podem usar diretamente o “docker commit” para gerar o backup do contêiner criando a imagem.

Etapa 8: confirmação

Para verificar se a imagem é criada ou não através do contêiner, liste as imagens do Docker utilizando o “ imagens da janela de encaixe ”comando:

imagens da janela de encaixe

A saída abaixo mostra que geramos com sucesso o “ nova-demo-img ' de ' demonstração-cont ”contêiner:

Observação: Para enviar a imagem do Docker para o registro do hub do Docker, o usuário também pode marcar a imagem usando o “ etiqueta docker ”comando:

etiqueta docker < nome da imagem > < nome do repositório >>< nome da imagem > : < marcação / versão >

Etapa 9: remover o contêiner antigo

Agora, remova o contêiner antigo. Para isso, primeiro pare o contêiner Docker usando o comando “ docker stop ”comando:

docker stop demo-cont

Após parar o contêiner, utilize o “ docker rm ”Comando para removê-lo do Docker:

janela de encaixe rm demonstração-cont

Etapa 10: execute o novo contêiner a partir da nova imagem confirmada

Agora, inicie a nova instância ou contêiner Docker usando a imagem recém-gerada através do “ execução do docker ”comando:

execução do docker -p 80 : 80 --nome demonstração-cont -d nova-demo-img

Agora, navegue até “ host local:80 ”porta e verifique se o aplicativo HTML está funcionando de forma eficaz ou não:

Para verificar o arquivo recém-copiado que é “ index1.html ”, utilize o “ http://localhost/index1.html ”URL:

A saída acima mostra que as alterações confirmadas foram salvas com sucesso no “ nova-demo-img ”Imagem Docker e executamos efetivamente o contêiner modificado.

Como definir o autor de uma imagem?

O ' confirmação do docker ”O comando também oferece suporte a diferentes opções para adicionar informações adicionais junto com as alterações confirmadas, como o autor das novas alterações, mensagem de confirmação e assim por diante.

Para especificar o autor da imagem que está comprometendo as novas alterações, siga os passos indicados.

Passo 1: Defina o autor da imagem

Para especificar o autor da imagem que está fazendo as alterações, utilize o botão “ -a ' ou ' -autor ”Opção junto com“ confirmação do docker ”comando:

confirmação do docker -a rafia demo-cont new-demo-img

Etapa 2: inspecionar a imagem

Para verificar se o autor da imagem está definido ou não, inspecione a imagem recém-gerada usando o botão “ docker inspeciona ”comando:

docker inspeciona new-demo-img

A saída mostra que definimos efetivamente o autor da imagem:

Como definir uma mensagem de commit de imagem?

Para definir a mensagem de commit junto com as alterações de commit, utilize o “ -m ”Opção. Para ilustração, siga as instruções abaixo.

Etapa 1: definir mensagem de confirmação da imagem

Para definir a mensagem junto com as alterações confirmadas, utilize o “ docker commit -m <“mensagem”> ”comando:

confirmação do docker -a ráfia -m 'Esta imagem é gerada por contêiner' demo-cont new-demo-img

Etapa 2: inspecionar a imagem

Para verificar a mensagem do commit, inspecione a imagem através do “ docker inspeciona ”comando:

docker inspeciona new-demo-img

Debaixo de ' Comente ”chave, o usuário pode ver a mensagem de commit conforme mostrado abaixo:

Trata-se de gerar uma imagem Docker a partir de um contêiner.

Conclusão

Para gerar uma imagem Docker a partir de um contêiner, primeiro faça as alterações no contêiner Docker. Depois disso, utilize o “ docker commit ”Comando para gerar a imagem do contêiner. Agora, remova o contêiner antigo e inicie a nova instância por meio da imagem recém-gerada. Os usuários também podem definir o nome do autor da imagem usando o botão “ -a ”E confirme a mensagem usando a opção“ -m ”Opção. Este blog ilustrou como gerar imagens a partir de um contêiner Docker.