diff --git a/docker/client/container.sls b/docker/client/container.sls
index 322f616..cf47819 100644
--- a/docker/client/container.sls
+++ b/docker/client/container.sls
@@ -9,8 +9,16 @@
   {%- set required_containers = [] %}
 
 {{id}}_image:
+  {%- if grains['saltversioninfo'][0] >= 2017 %}
+  docker_image.present:
+  {%- else %}
   dockerng.image_present:
+  {%- endif %}
     - name: {{ container.image }}
+    {%- if container.build is defined %}
+    - build: {{ container.build }}
+    {%- endif %}
+    - force: {{ container.force|default(False) }}
     {%- if grains.get('noservices') %}
     - onlyif: /bin/false
     {%- endif %}
@@ -41,7 +49,11 @@
 {%- endfor %}
 
 {{id}}_container:
+  {%- if grains['saltversioninfo'][0] >= 2017 %}
+  docker_container.running:
+  {%- else %}
   dockerng.running:
+  {%- endif %}
     - name: {{id}}
     - start: {{ container.start|default(True) }}
     - user: {{ container.user|default("root") }}
@@ -94,11 +106,19 @@
   {%- if 'restart' in container %}
     - restart_policy: {{ container.restart }}
   {%- endif %}
-    - require:
+    - watch:
+  {%- if grains['saltversioninfo'][0] >= 2017 %}
+      - docker_image: {{id}}_image
+  {%- else %}
       - dockerng: {{id}}_image
+  {%- endif %}    
   {%- if required_containers is defined %}
     {%- for containerid in required_containers %}
+      {%- if grains['saltversioninfo'][0] >= 2017 %}
+      - docker_container: {{containerid}}
+      {%- else %}
       - dockerng: {{containerid}}
+      {%- endif %}
     {%- endfor %}
   {%- endif %}
   {%- for key, value in container.iteritems() %}
diff --git a/docker/client/service.sls b/docker/client/service.sls
index 178ed33..42c8270 100644
--- a/docker/client/service.sls
+++ b/docker/client/service.sls
@@ -24,6 +24,7 @@
         docker service create
         --name {{ name }}
         --with-registry-auth
+        --detach=true
         {%- for env, value in service.get('environment', {}).iteritems() %} -e {{ env }}="{{ value }}"{%- endfor %}
         {%- for port in service.get('ports', []) %} -p {{ port }}{%- endfor %}
         {%- for name, host in service.get('hosts', {}).iteritems() %} --host {{ host.get('name', name) }}:{{ host.address }}{%- endfor %}
@@ -60,8 +61,8 @@
         i=1;
         while [ $i -lt 5 ]; do
         docker service update
-        --name {{ name }}
         --with-registry-auth
+        --detach=true
         {%- if service.replicas is defined %} --replicas {{ service.replicas }}{%- endif %}
         {%- if service.user is defined %} --user {{ service.user }}{%- endif %}
         {%- if service.workdir is defined %} --workdir {{ service.workdir }}{%- endif %}
diff --git a/docker/map.jinja b/docker/map.jinja
index d70b4b0..012d86d 100644
--- a/docker/map.jinja
+++ b/docker/map.jinja
@@ -74,4 +74,6 @@
   - volumes_from
   - links
   - restart
+  - force
+  - build
 {%- endload %}
