Dockerの標準コマンドには、ボリュームを直接コピーする機能がありません。簡単な方法として、一時的なコンテナを起動し、コピー元とコピー先のボリュームをマウントした上で、コンテナ内でコピー処理を実行する方法があります。
まず、コピー先のボリュームを作成します。
docker volume create --name new_volume
次に、以下のコマンドを実行して、コピー元のボリュームの内容をコピー先に複製します。
docker container run --rm -it \
-v old_volume:/src \
-v new_volume:/dest \
alpine sh -c "apk add --no-cache rsync && rsync -a /src/ /dest/"
このコマンドでは、old_volume を /src に、new_volume を /dest にマウントした Alpine イメージのコンテナを起動し、/src 内のファイルを /dest にコピーしています。
コピーにはrsyncコマンドを利用しています。alpineには標準でrsyncは含まれていないため、apk addで追加した後に、rsyncを実行しています。rsyncの代わりに-aオプションを付けたcpコマンドを利用しても良いと思います。所有者やパーミッション等の情報が維持された形でコピーされます。
また、dockerコマンドに--rm オプションを指定することで、コンテナの実行が完了するとコンテナは自動的に削除されます。