O que é volume na imagem do Docker?

O que é volume na imagem do Docker?

Uma imagem do Docker é um modelo que inclui instruções para criar/construir contêineres do Docker. As imagens do Docker são construídas a partir do Dockerfile. O Dockerfile define a imagem base para utilizar e as dependências para instalar. Uma imagem pode ser construída ou criada usando o Dockerfile após a criação.

Este artigo explicará sobre o volume na imagem do Docker.

O que é volume na imagem do Docker?

No Docker, um volume é uma maneira de persistir dados gerados e utilizados por contêineres do Docker. O volume pode ser declarado em um Dockerfile ou em tempo de execução. Quando o usuário declara o volume no Dockerfile usando o “VOLUMEInstruções, um novo volume será criado cada vez que um contêiner é iniciado a partir da imagem, mesmo sem especificar o “-v”Opção enquanto executa o contêiner. Para declarar o volume do tempo de execução, o “-v”A opção é usada com a“Docker Run”Comando para montar um diretório host em um diretório de contêineres.

Como montar o volume na imagem do Docker?

Para montar o volume em uma imagem do Docker, primeiro, crie um Dockerfile e declare o volume usando o “VOLUME”Instruções. Em seguida, crie/construa uma imagem do Docker a partir do Dockerfile desejado. Finalmente, execute a imagem do docker como um contêiner do Docker.

Etapa 1: Crie Dockerfile

Primeiro, crie um novo arquivo chamado “Dockerfile”E cole o seguinte código nele:

De Nginx: mais recente
Correr eco "

Bem -vindo ao aplicativo Linuxhint

">/usr/share/nginx/html/index.html
Volume/usr/share/nginx/html

No código acima:

  • ““DE”A instrução é utilizada para especificar uma imagem base para o contêiner. No nosso caso, é “Nginx: mais recente”.
  • ““CORRER”A instrução é usada para executar um comando durante o processo de criação/criação de imagens do Docker.
  • ““eco”O utilitário produzirá a string“

    Bem -vindo ao aplicativo Linuxhint

    ”Para a saída padrão e o“>”O operador é usado para redirecionar esta saída para um arquivo localizado em“/usr/share/nginx/html/índice.html”.
  • ““VOLUME”A instrução cria um novo volume do Docker em“/usr/share/nginx/html”.

Este DockerFile cria uma nova imagem do Docker baseada na imagem nginx. O DockerFile então executa um comando para criar um novo arquivo em “/usr/share/nginx/html/index.HTML "que contém o código HTML para a mensagem" Welcome to linuxhint Application ". Finalmente, a instrução "volume" cria um novo volume do Docker em "/usr/share/nginx/html".

Etapa 2: Construa a imagem do Docker

Em seguida, crie uma imagem do Docker a partir do DockerFile desejado usando o comando fornecido:

Docker Build -t New -IMG .

Aqui o "-t”A opção é utilizada para especificar o nome da imagem. Por exemplo, especificamos o “New-IMG”Como um nome para a imagem do Docker:

Etapa 3: Construa o contêiner Docker

Em seguida, construa e execute o contêiner do docker usando a imagem do Docker através do seguinte comando:

Docker Run-Nome New-Cont1 -p 80:80 New-IMG

Aqui:

  • ““-nome”É utilizado para especificar o nome do contêiner.
  • ““NOVO CONT1”É o nome do contêiner.
  • ““-p”É usado para atribuir a porta ao contêiner, i.e., ““80:80”.
  • ““New-IMG”É a imagem do Docker:

Etapa 4: Verificação

Por fim, abra o navegador desejado, redirecionasse para a porta alocada e visualize o aplicativo implantado:

Como você pode ver usando o “VOLUME”Instrução, o diretório local que contém arquivos HTML foi montado na“/usr/share/nginx/html ”e a página de destino padrão do Nginx foi substituída por nosso conteúdo personalizado.

Conclusão

No Docker, um volume é uma maneira ou método para persistir dados gerados e utilizados por contêineres do Docker. O volume pode ser declarado em um Dockerfile, especificando o “VOLUME”Instruções ou no tempo de execução usando o“-v"Opção com a"Docker Run”Comando. Para montar o volume em uma imagem do Docker, primeiro, crie um Dockerfile e declare o volume usando as instruções de "volume". Em seguida, crie uma imagem do Dockerfile. Finalmente, execute a imagem do docker como um contêiner. Este artigo explicou sobre o volume na imagem do Docker.