Indeed they are! The notion that each process has its separate address space is called virtual memory for that reason.
See also cgroups: while this feature is used by the container run times, it predates Docker, and can be used standalone with normal processes.