There is no <container> tag. When we use the term container, we’re talking about function. The header tag “contains” markup that goes at the top of the page. The <header> tag IS a container tag.
A div tag is a very general container. It stands for division. At one time, it was all we had so we used it exclusively and one page could have dozens of div tags in them. It got pretty confusing. In order to distinguish one div tag from another, we gave them id attributes.
<div id="header">Some content including a logo, page heading, and navigation also in a div tag</div>
<div id="aside">Some content</div>
<div id="article">Some content</div>
With the new version of HTML, we have additional tags that act as containers that have more meaning (semantic); header, section, article, aside, nav, footer, etc. In general, if there is a tag that makes more sense to use, i.e. a nav tag contains navigation code, then use it. If you need to put code in a container, and there is not a semantic tag that does the job, then use the div tag.