Por padrão, os volumes do docker são locais para o host do docker em que o contêiner está em execução (conforme sugerido pelo nome do driver padrão "local"). Para ter um volume docker acessível em vários hosts docker, você precisará apontar para o armazenamento externo. A maneira mais comum de fazer isso é usando um servidor NFS:
# create a reusable volume
$ docker volume create --driver local \
--opt type=nfs \
--opt o=addr=192.168.1.1,rw \
--opt device=:/path/to/dir \
foo
# or from the docker run command
$ docker run -it --rm \
--mount type=volume,dst=/container/path,volume-driver=local,volume-opt=type=nfs,volume-opt=o=addr=192.168.1.1,volume-opt=device=:/host/path \
foo
Você precisará ajustar o IP e o caminho e os nomes acima para corresponder ao seu próprio ambiente.
Para acessar o volume em várias nuvens, você precisará apontar para um armazenamento externo acessível a partir de várias nuvens.