Onde o volume do docker é armazenado no computador host para compor o docker?

3

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?

    
por kevP 23.02.2017 / 05:59

1 resposta

3

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

    
por 01.03.2017 / 13:02