Usando o volume no Dockerfile
Exemplo não utilizando volume
Criação do Dockerfile sem utilizar volume:
/tmp/volume/volume$ ls
/tmp/volume/volume$ touch Dockerfile
/tmp/volume/volume$ vim Dockerfile
/tmp/volume/volume$ cat Dockerfile
FROM ubuntu:22.04
# VOLUME /app
WORKDIR /appConstrução da imagem:
$ docker image build -t ubuntu-volume -f Dockerfile .
[+] Building 12.2s (7/7) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 82B 0.0s
=> [internal] load metadata for docker.io/library/ubuntu:22.04 3.3s
=> [auth] library/ubuntu:pull token for registry-1.docker.io 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/2] FROM docker.io/library/ubuntu:22.04@sha256:adbb90115a2 8.6s
=> => resolve docker.io/library/ubuntu:22.04@sha256:adbb90115a2 0.0s
=> => sha256:adbb90115a21969d2fe6fa7f9af4253e16 1.34kB / 1.34kB 0.0s
=> => sha256:075680e983398fda61b1ac59ad733ad81d18df 424B / 424B 0.0s
=> => sha256:53a843653cbcd9e10be207e951d907dc24 2.30kB / 2.30kB 0.0s
=> => sha256:857cc8cb19c0f475256df4b7709003b7 29.54MB / 29.54MB 7.4s
=> => extracting sha256:857cc8cb19c0f475256df4b7709003b77f10121 1.0s
=> [2/2] WORKDIR /app 0.1s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:fb0bf2bef8f7c519918810738a602e83f61b 0.0s
=> => naming to docker.io/library/ubuntu-volume 0.0s
$ docker image ls ubuntu-volume
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu-volume latest fb0bf2bef8f7 20 seconds ago 77.9MB Execução do container e criação de arquivo:
Em outro terminal é possível verificar que nenhum volume foi criado:
Saída do container:
Exemplo utilizando volume sem mapeamento
Alteração do Dockerfile para utilizar volume:
Construção da imagem:
Inspeção da imagem criada:
Execução do container:
Criação de arquivo:
Verificação do volume criado:
Saída do container:
Inspeção do volume:
Criação de outro container e arquivo:
Um novo volume foi criado:
Inspeção do novo volume:
Exemplo utilizando volume com mapeamento
Last updated