Os volumes normalmente serão armazenados em algum lugar em /var/lib/docker/volumes/
Para saber mais, tente os seguintes comandos
docker volume ls
docker volume inspect <volume identifier>
Veja também: link
Considere o seguinte arquivo docker-compose
version: "2"
services:
postgres:
image: postgres:9.6
volumes:
- ./vol_folder:/var/lib/postgresql
ports:
- "5432:5432"
Aqui está o meu histórico de comandos no meu mac
docker-compose up
psql -h 192.168.99.100 -p 5432 -U postgres
create table test (my_id bigserial primary key);
INSERT INTO test (my_id) values (1);
SELECT * FROM test;
\q
Originalmente, achei que os comandos acima farão com que um arquivo .sql
seja criado em ./vol_folder
do computador host. Mas não vejo nenhum arquivo .sql
em ./vol_folder
, mas apenas um diretório data
vazio em ./vol_folder
Além disso, se eu docker-compose down
e docker-compose up
novamente eu puder ver meus dados no banco de dados agora desapareceram.
Eu suspeitei que quando eu criei os dados quando a imagem está em execução, os dados não são armazenados de volta para ./vol_folder
, assim, quando eu reinicio, não há nada para montar do host.
Então, eu acho que a minha pergunta é onde está o volume armazenado no meu computador host? O volume do docker é apenas de uma forma (por exemplo, dados do host para o contêiner) não de duas maneiras?
Os volumes normalmente serão armazenados em algum lugar em /var/lib/docker/volumes/
Para saber mais, tente os seguintes comandos
docker volume ls
docker volume inspect <volume identifier>
Veja também: link