Exemplo com Docker Volume
Bind Mount (volume não gerenciado)




Volume (volume gerenciado)



Last updated







Last updated
/tmp/volume/exemplo$ mkdir db_vol
marcelo@Latitude5440:/tmp/volume/exemplo$ docker container run -d \
-e POSTGRES_PASSWORD=123456 \
-p 5432:5432 \
--mount type=bind,source="$(pwd)/db_vol",target=/var/lib/postgresql/data \
postgres
Unable to find image 'postgres:latest' locally
latest: Pulling from library/postgres
e4fff0779e6d: Pull complete
3dd23fa89c28: Pull complete
9110f5284332: Pull complete
b2a5b191a941: Pull complete
f0baaf1c42c6: Pull complete
3c42bd6bf488: Pull complete
cb55f9f5ebf8: Pull complete
6eeec50ef8e1: Pull complete
ba3d1f8aa002: Pull complete
199cdf05dfec: Pull complete
438d147df750: Pull complete
a2e706f2e593: Pull complete
2505d0b60422: Pull complete
133de8acf4aa: Pull complete
Digest: sha256:c62fdb7fd6f519ef425c54760894c74e8d0cb04fbf4f7d3d79aafd86bae24edd
Status: Downloaded newer image for postgres:latest
7320ee9a320f46bac5685d2f44fe232d41d2a30f13adbbbc543ff9cd65d9ee6b
/tmp/volume/exemplo$ ls
db_vol
/tmp/volume/exemplo$ sudo ls db_vol/
PG_VERSION pg_hba.conf pg_replslot pg_subtrans postgresql.auto.conf
base pg_ident.conf pg_serial pg_tblspc postgresql.conf
global pg_logical pg_snapshots pg_twophase postmaster.opts
pg_commit_ts pg_multixact pg_stat pg_wal postmaster.pid
pg_dynshmem pg_notify pg_stat_tmp pg_xact$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7320ee9a320f postgres "docker-entrypoint.s…" 7 minutes ago Up 7 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp agitated_chatterjee
$ docker container rm -f 7320ee9a320f
7320ee9a320f$ docker container run -d -e POSTGRES_PASSWORD=123456 -p 5432:5432 --mount type=bind,source="$(pwd)/db_vol",target=/var/lib/postgresql/data postgres
d7d475d9d707547f8c9b3904146b15958b4f69333dae4af7a5a3fbfc0465eb17
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d7d475d9d707 postgres "docker-entrypoint.s…" 4 seconds ago Up 3 seconds 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp hungry_cartwright$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d7d475d9d707 postgres "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp hungry_cartwright
$ docker container rm -f d7d475d9d707
d7d475d9d707$ docker container run -d \
-e POSTGRES_PASSWORD=123456 \
-p 5432:5432 \
--mount type=volume,source=container_postgre_vol,target=/var/lib/postgresql/data \
postgres
5511385490c3f0d32427682216e95296b80756fa0f5162c83ca6f882545bd00d
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5511385490c3 postgres "docker-entrypoint.s…" 5 seconds ago Up 5 seconds 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp stupefied_taussig
$ docker volume ls
DRIVER VOLUME NAME
local container_postgre_vol/tmp/volume/exemplo$ sudo rm -rf db_vol/
[sudo] password for marcelo: