Porquê usar volumes do Docker para armazenamento de dados persistentes

tech
Getting your Trinity Audio player ready...

 

Como usar volumes do Docker para armazenamento de dados persistentes

Ao usar o Docker, você pode usar volumes para persistir dados mesmo quando você para ou reinicia os contêineres. Criaremos e usaremos volumes do Docker para PostgreSQL.

Pré-requisitos

Para seguir nascente tutorial:

  • Você deveria ter Docker instalado na sua máquina
  • Você deve estar familiarizado com os comandos do Docker e PostgreSQL

Lanço 1: Puxe a imagem do PostgreSQL

Primeiro, extraímos a imagem PostgreSQL do DockerHub:

Lanço 2: Fabricar um volume do Docker

Em seguida, vamos gerar um volume Docker para armazenar os dados. Esse volume persistirá os dados mesmo se o contêiner for removido.

$ docker volume create pg_data

Lanço 3: execute o contêiner PostgreSQL

Agora que extraímos a imagem e criamos um volume, podemos executar o contêiner PostgreSQL anexando o volume criado a ele.

$ docker run -d \
	--name my_postgres \
	-e POSTGRES_PASSWORD=mysecretpassword \
	-v pg_data:/var/lib/postgresql/data \
	-p 5432:5432 \
	postgres

Levante comando é executado my_postgres no modo evidenciado. Usando –v pg_data:/var/lib/postgresql/data monta o pg_data volume para /var/lib/postgresql/dados no Sua visita nos ajuda a continuar oferecendo o melhor para você! E usando -p 5432:5432 mapas porta 5432 de my_postgres para a porta 5432 na máquina host.

Lanço 4: Verifique o uso do volume

Agora que criamos o volume, podemos verificar se ele está sendo usado. Você pode inspecionar o volume e verificar o teor.

$ docker volume inspect pgdata

Executar nascente comando mostrará detalhes sobre o volume, incluindo seu ponto de montagem no seu sistema host. Você pode velejar até nascente diretório e ver os arquivos de dados do PostgreSQL.

[
	{
    	"CreatedAt": "2024-08-07T15:53:23+05:30",
    	"Driver": "local",
    	"Labels": null,
    	"Mountpoint": "/var/lib/docker/volumes/pg_data/_data",
    	"Name": "pg_data",
    	"Options": null,
    	"Scope": "local"
	}
]

Lanço 5: Crie um banco de dados e uma tábua

Conecte-se à instância do Postgres e crie um banco de dados e uma tábua.

Inicie uma sessão psql:

$ docker exec -it my_postgres psql -U postgres

Crie um novo banco de dados:

Conecte-se ao novo banco de dados:

Crie uma tábua e insira alguns dados:

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100)
);
INSERT INTO users (name, email) VALUES ('Abby', '[email protected]'), ('Bob', '[email protected]');

Execute uma consulta de exemplo:

Saída:

 id | name |  	email  	 
----+------+------------------
  1 | Abby | [email protected]
  2 | Bob  | [email protected]

Lanço 6: Pare e remova o recipiente

Pare o contêiner em realização e remova-o. Fazemos isso para poder testar se os dados persistem mesmo se o contêiner for parado.

$ docker stop my_postgres
$ docker rm my_postgres

Lanço 7: execute novamente o contêiner Postgres com o mesmo volume

Inicie um novo contêiner PostgreSQL com o mesmo volume para prometer a persistência dos dados.

$ docker run -d \
	--name my_postgres \
	-e POSTGRES_PASSWORD=mysecretpassword \
	-v pgdata:/var/lib/postgresql/data \
	-p 5432:5432 \
	postgres

Conecte-se à instância do Postgres e verifique se os dados persistem.

Abra uma sessão psql:

$ docker exec -it my_postgres psql -U postgres

Conecte-se ao mydb banco de dados:

Verifique os dados Sua visita nos ajuda a continuar oferecendo o melhor para você! users mesa:

Você ainda deverá ver a saída:

 id | name |  	email  	 
----+------+------------------
  1 | Abby | [email protected]
  2 | Bob  | [email protected]

Espero que nascente tutorial ajude você a entender porquê usar volumes para persistir dados ao trabalhar com o Docker.

Recursos adicionais

Para saber mais, leia os seguintes recursos:

Boa exploração!

 

Projéctil Priya C é uma desenvolvedora e escritora técnica da Índia. Ela gosta de trabalhar na intersecção de matemática, programação, ciência de dados e geração de teor. Suas áreas de interesse e especialização incluem DevOps, ciência de dados e processamento de linguagem procedente. Ela gosta de ler, grafar, codificar e moca! Atualmente, ela está trabalhando para aprender e compartilhar seu conhecimento com a comunidade de desenvolvedores, criando tutoriais, guias de instruções, artigos de opinião e muito mais. Projéctil também cria visões gerais de recursos envolventes e tutoriais de codificação.

Não perdida a chance de explorar nossos produtos na loja.
Dê um passo avante e conquiste sua liberdade financeira trabalhando no conforto da sua moradia ou escritório.

Sua visita nos ajuda a continuar oferecendo o melhor para você! Verdana; font-size: 30px; color: #003BB0; display: block; margin-top: 10px;">Facilitando a transição de carreira com uma abordagem clara e objetiva.
Adriano Pina

Adriano Pina

Análise de Sistemas | SEO e Google Ads | Fundador da Loja Script PHP Aqui & Marca Shoslh de tecnologia

Especialista em transformar ideias em soluções digitais e acelerar o crescimento online.

Deixe um comentário

Tem perguntas? Nos envia sua mensagem 24/7!

(17) 99100-0874

Endereço & Contato

Centro, Interior de São Paulo
E-mail: [email protected]

Links Úteis
BAIXAR APP | SCRIPT PHP AQUI
Certificados
0
    0
    Seu carrinho
    Seu carrinho está vazio

    Usamos cookies para garantir que oferecemos a melhor experiência em nosso site. 

       

    X

    Clique em um de nossos representantes abaixo para conversar no WhatsApp ou envie um email para: 📧 [email protected]

    Precisa de ajuda fale conosco?