Quando você emitir um docker-compose up
, o Docker Compose criará por padrão um volume, rede e contêiner com o nome de projectname_servicename_number
, em que projectname é o nome do diretório que o arquivo de composição do Docker existe
No seu caso, o Docker não considera seu volume existente, ele criará um novo volume. Para fazer com que considere seu volume, você deve adicionar uma chave de external: true
para que o Docker ignore o criação de volume. Será assim:
version: '2'
services:
testapp-postgresql:
image: postgres:10.4
volumes:
- testapp-pgdata:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=testapp
- POSTGRES_PASSWORD=
ports:
- 5432:5432
volumes:
testapp-pgdata:
external: true
O external: true
dirá ao Docker Compose para não criar um novo volume e usar o volume com o nome fornecido como está. Observe que, se o volume não existir, ele falhará com um erro