いくつか嘘記事に惑わされたり惑わされなかったりしたものの、stack overflow の Flexbox: center horizontally and vertically 記事にもある通り、以下が正しく、かつ、簡単な上下中央揃えです。

■CSS
* {
margin: 0;
padding: 0;
}
html, body {
height: 100%;
}
.container {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;

}
.item {
text-align: center;
}


■HTML
<div class="container">
<div class="item">
<p>
<img src="sample.png">
</p>
<p>これはサンプルテキストです</p>
</div>
</div>