diff --git a/microservices/build.py b/microservices/build.py
index 1f26b5a..e419343 100644
--- a/microservices/build.py
+++ b/microservices/build.py
@@ -84,7 +84,7 @@ def find_dockerfiles(repository_name, tmp_dir, match=True):
     return dockerfiles


-IMAGE_FULL_NAME_RE = "(([\\w_-]+)\\/)?([\\w_-]+)(:([\\w_.-]+))?"
+IMAGE_FULL_NAME_RE = "(.*\/)?(([\\w_-]+)\\/)?([\\w_-]+)(:([\\w_.-]+))?"
 IMAGE_FULL_NAME_PATTERN = re.compile(IMAGE_FULL_NAME_RE)

 DOCKER_FILE_FROM_PATTERN = re.compile(

diff --git a/microservices/common/jinja_utils.py b/microservices/common/jinja_utils.py
index c9c8cd2..37ff6f2 100644
--- a/microservices/common/jinja_utils.py
+++ b/microservices/common/jinja_utils.py
@@ -16,6 +16,9 @@ def str_to_bool(text):

 def jinja_render(path):
     variables = {k: v for k, v in CONF.images.items()}
+    if CONF.builder.push and CONF.registry.address:
+        variables['namespace'] = '%s/%s' % (CONF.registry.address,
+                                            variables['namespace'])

     env = jinja2.Environment(loader=jinja2.FileSystemLoader(
         os.path.dirname(path)))
