Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Volume entre containers e máquina local

Como fazer com que um diretório local seja visto em um container? Algo do tipo como um mklink. Estou usando um docker-compose.yml

3 respostas

Pessoal,

No meu arquivo docker-compose.yml, coloquei a seguinte linha e depois subi os contêineres.

Linha

volumes:                     
            - D:\fenae\dev\lumisportal\lumisdata\shared\data\elasticsearch\lumis-analysis:/usr/share/elasticsearch/config/lumis-analysis

Dei um inspect no contêiner e tive o seguinte resultado

 "Mounts": [
            {
                "Type": "volume",
                "Name": "elasticsearch-image_elasticseach_data_01",
                "Source": "/var/lib/docker/volumes/elasticsearch-image_elasticseach_data_01/_data",
                "Destination": "/usr/share/elasticsearch/data",
                "Driver": "local",
                "Mode": "rw",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "bind",
                "Source": "/host_mnt/d/fenae/dev/lumisportal/lumisdata/shared/data/elasticsearch/lumis-analysis",
                "Destination": "/usr/share/elasticsearch/config/lumis-analysis",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },
            {
                "Type": "bind",
                "Source": "/host_mnt/d/Docker/elasticsearch-image/elasticsearch.yml",
                "Destination": "/usr/share/elasticsearch/config/elasticsearch.yml",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],

No diretório D:\fenae\dev\lumisportal\lumisdata\shared\data\elasticsearch\lumis-analysis, tem 4 arquivos que precisam esta no diretório: /usr/share/elasticsearch/config/lumis-analysis, dentro do contêiner do ES.

Como acessar o contêiner para saber se os arquivos estão dentro do diretório informado?

solução

Uma coisa que você pode tentar fazer pra acessar o container é executar o Bash dentro dele, para isso, execute o seguinte comando trocando "meucontainer" pelo nome do seu container

docker exec -it meucontainer /bin/bash

Aí a partir disso você vai ter um terminal no container, e é só utilizar o comando cd para ir até a pasta desejada e ver se os arquivos estão lá.

Espero ter ajudado, qualquer coisa avisa a gente aqui :)

Valeu Giovanni.

Era esse comando que estava usando, mas estava faltando voltar no "raiz" do contêiner, então usei o comando "cd /" e conseguir ver todas os diretórios. Os aquivos que tenho em minha máquina, agora os contêineres podem visualizar.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software