Você está na página 1de 2

Docker – Como montar uma pasta do

Host Docker dentro de um container


Dica rápida e fácil sobre compartilhamento de pastas no Docker.
É possível compartilhar uma pasta do host Docker com um container, isto pode ser útil
para a necessidade de compartilhar dados entre containers de uma forma bem simples.

Sintaxe
docker run -v /pasta-host-docker/:/pasta-container/ -ti -d imagem

-v ou –volume
pasta-host-docker – É a pasta do host Docker, aquele que está rodando o Docker
Engine.
Pasta-container – É o ponto de montagem dentro do container.

Laboratório
Docker Host – docker-engine1
Containers – container-servidor1 e container-servidor2

Vou compartilhar a pasta ‘/data‘ do host Docker e montar dentro da pasta


‘/var/www/html‘ dos containers.

Criação da pasta ‘/data’ no host Docker e criação dos containers.

[root@docker-engine1 ~]# mkdir /data/

[root@docker-engine1 ~]# docker run -v /data/:/var/www/html/ -ti -d --


name container-servidor1 -h container-servidor1 ubuntu bash

[root@docker-engine1 ~]# docker run -v /data/:/var/www/html/ -ti -d --


name container-servidor2 -h container-servidor2 ubuntu bash
[/bash]

/data/ – Pasta do host Docker docker-engine1.


/var/www/html/ – Pasta mapeada nos containers.

Você já pode logar em ambos containers, acessar a pasta compartilhada


‘/var/www/html/’, criar arquivos e etc.

#Container container-servidor1
root@container-servidor1:~# echo "teste teste teste" >>
/var/www/html/teste-container1.txt
root@container-servidor1:~#

#Container container-servidor2
root@container-servidor2:/# cat /var/www/html/teste-container1.txt
teste teste teste
root@container-servidor2:/#

#Docker Host docker-engine1


[root@docker-engine1 data]# ls
teste-container1.txt

[root@docker-engine1 data]# cat teste-container1.txt


teste teste teste
[root@docker-engine1 data]#

Pulo do gato
A pasta compartilhada /data é local, ela existe apenas no Docker Host e pode ser
compartilhada apenas com os containers daquele host.

Aí que vem o pulo do gato, para disponibilizar esta pasta para outros hosts da sua rede
você terá que utilizar algum filesystem que trabalhe em cluster, como por exemplo
GlusterFS, Flocker, XtreemFS ou até mesmo o bom e velho NFS.

Você também pode gostar