<?xml version="1.0"?>
<oembed><version>1.0</version><provider_name>Service Prototyping Lab</provider_name><provider_url>https://blog.zhaw.ch/splab</provider_url><author_name>dagh</author_name><author_url>https://blog.zhaw.ch/splab/author/dagh/</author_url><title>Introducing the Docker Compose Validator</title><type>rich</type><width>600</width><height>338</height><html>&lt;blockquote class="wp-embedded-content" data-secret="u8aAAjNRy6"&gt;&lt;a href="https://blog.zhaw.ch/splab/2019/10/04/introducing-the-docker-compose-validator/"&gt;Introducing the Docker Compose Validator&lt;/a&gt;&lt;/blockquote&gt;&lt;iframe sandbox="allow-scripts" security="restricted" src="https://blog.zhaw.ch/splab/2019/10/04/introducing-the-docker-compose-validator/embed/#?secret=u8aAAjNRy6" width="600" height="338" title="&#x201C;Introducing the Docker Compose Validator&#x201D; &#x2014; Service Prototyping Lab" data-secret="u8aAAjNRy6" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" class="wp-embedded-content"&gt;&lt;/iframe&gt;&lt;script&gt;
/*! This file is auto-generated */
!function(d,l){"use strict";l.querySelector&amp;&amp;d.addEventListener&amp;&amp;"undefined"!=typeof URL&amp;&amp;(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&amp;&amp;!/[^a-zA-Z0-9]/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret="'+t.secret+'"]'),o=l.querySelectorAll('blockquote[data-secret="'+t.secret+'"]'),c=new RegExp("^https?:$","i"),i=0;i&lt;o.length;i++)o[i].style.display="none";for(i=0;i&lt;a.length;i++)s=a[i],e.source===s.contentWindow&amp;&amp;(s.removeAttribute("style"),"height"===t.message?(1e3&lt;(r=parseInt(t.value,10))?r=1e3:~~r&lt;200&amp;&amp;(r=200),s.height=r):"link"===t.message&amp;&amp;(r=new URL(s.getAttribute("src")),n=new URL(t.value),c.test(n.protocol))&amp;&amp;n.host===r.host&amp;&amp;l.activeElement===s&amp;&amp;(d.top.location.href=t.value))}},d.addEventListener("message",d.wp.receiveEmbedMessage,!1),l.addEventListener("DOMContentLoaded",function(){for(var e,t,s=l.querySelectorAll("iframe.wp-embedded-content"),r=0;r&lt;s.length;r++)(t=(e=s[r]).getAttribute("data-secret"))||(t=Math.random().toString(36).substring(2,12),e.src+="#?secret="+t,e.setAttribute("data-secret",t)),e.contentWindow.postMessage({message:"ready",secret:t},"*")},!1)))}(window,document);
//# sourceURL=https://blog.zhaw.ch/splab/wp-includes/js/wp-embed.min.js
&lt;/script&gt;
</html><description>When cloud application developers are working with docker-compose to combine multiple microservices into a single manageable entity, they can make some easy mistakes. To prevent these mistakes, they can rely on internal validation logic, which however does not catch many of the typical issues. Therefore, researchers at the Service Prototyping Lab at Zurich University of [&hellip;]</description><thumbnail_url>https://blog.zhaw.ch/splab/files/2019/09/Screenshot-from-2019-09-26-13-24-14-1-1024x524.png</thumbnail_url></oembed>
