Is the relationship between the two is containment relationship, i.e.
Bounded-Context has one or more models?
I guess you could say it that way, but a bounded context (BC) has just one model, with objects named according to the ubiquitous language (UL) of the BC.
Both models and BCs belong to the solution space.
In the problem space you have the domain and sub-domains.
In the solution space you have BCs (ideally 1:1 related with sub-domains). You model a subdomain, and you have a BC for each sub-domain model.
But for example you could model the entire domain with just one model, so that you would have just a BC in the solution space for the entire domain. In this case you have one BC related to many subdomains. This BC would be a monolithic application.
The other example, one sub-domain related to many BCs, happens when you split the sub-domain into several "parts", and you model each "part". So you would have many models for the subdomain. This way in the solution space you have many BCs for the subdomain, i.e., many applications to solve a subdomain problem.
These cases of 1:N or N:1 relationships between subdomains and BCs happens when the division according to the UL terminology is fuzzy.
As I understand DDD concepts should be identifiable (to some degree)
through the codebase, this is clear for Aggregate, Entities, Event,
Commands...etc, but how Models and Bounded-Context are mapped into the
codebase? for example is a models just a set of one or more
aggregates, or something else? is Bounded-context a namespace or
something else?
A BC is a software system, an autonomous application. And a model is the source code of the BC. But in DDD there exists another concept: the module, a cohesive group of domain objects. It is a thinner division than BCs.
So you have, from wider to smaller:
Solution --> BC --> module --> aggregate --> entity & value objects