Getting your Trinity Audio player ready... |
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 recipiente. 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', 'abby@example.com'), ('Bob', 'bob@example.com');
Execute uma consulta de exemplo:
Saída:
id | name | email
----+------+------------------
1 | Abby | abby@example.com
2 | Bob | bob@example.com
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 Sua visita nos ajuda a continuar oferecendo o melhor para você! \
--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 no users
mesa:
Você ainda deverá ver a saída:
id | name | email
----+------+------------------
1 | Abby | abby@example.com
2 | Bob | bob@example.com
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. Sua visita nos ajuda a continuar oferecendo o melhor para você! gosta de trabalhar na intersecção de matemática, programação, ciência de dados Sua visita nos ajuda a continuar oferecendo o melhor para você! 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.