Just one. There can be only one local domain... From the manpage on resolv.conf:
domain Local domain name.
Most queries for names within this domain can use short names
relative to the local domain. If set to '.', the root domain is
considered. If no domain entry is present, the domain is deter‐
mined from the local hostname returned by gethostname(2); the
domain part is taken to be everything after the first '.'.
Finally, if the hostname does not contain a domain part, the
root domain is assumed.
It is there so you can use a short name, and have it expanded to the FQDN for lookups. Thus if there were two "local domains" you could have the same name used for two different systems - and not be able to identify which one is being referred to.
Now if you want to search multiple domains, then use the "search" instead. You can put up to six domains. Note that the name lookup is done sequentially - so this can slow down response. From the manpage:
search Search list for host-name lookup.
The search list is normally determined from the local domain
name; by default, it contains only the local domain name. This
may be changed by listing the desired domain search path follow‐
ing the search keyword with spaces or tabs separating the names.
Resolver queries having fewer than ndots dots (default is 1) in
them will be attempted using each component of the search path
in turn until a match is found. For environments with multiple
subdomains please read options ndots:n below to avoid man-in-
the-middle attacks and unnecessary traffic for the root-dns-
servers. Note that this process may be slow and will generate a
lot of network traffic if the servers for the listed domains are
not local, and that queries will time out if no server is avail‐
able for one of the domains.
The search list is currently limited to six domains with a total
of 256 characters.