{"id":310,"date":"2026-08-23T23:18:34","date_gmt":"2026-08-23T23:18:34","guid":{"rendered":"https:\/\/netguide.io\/tools\/docker-run-zu-compose-converter\/"},"modified":"2026-08-23T23:18:34","modified_gmt":"2026-08-23T23:18:34","slug":"docker-run-zu-compose-converter","status":"publish","type":"post","link":"https:\/\/netguide.io\/tools\/de\/docker-run-zu-compose-converter\/","title":{"rendered":"Docker Run \u2192 Docker Compose Converter"},"content":{"rendered":"<div id=\"netgu-3436730182\" class=\"netgu-before-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"3494115342\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>\n<style>\n.wp-drc-box{max-width:760px;margin:0 auto;padding:20px;border:1px solid #d1e1ef;border-radius:8px;background:#fff;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif;color:#1d2327}\n.wp-drc-box h3{margin:0 0 14px;font-size:1.1rem}\n.wp-drc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px}\n.wp-drc-f{display:flex;flex-direction:column;gap:4px}\n.wp-drc-f label{font-size:.8rem;font-weight:600;color:#50575e}\n.wp-drc-box input[type=text],.wp-drc-box select,.wp-drc-box textarea{width:100%;padding:8px 10px;border:1px solid #c3c4c7;border-radius:5px;font-size:.9rem;box-sizing:border-box;font-family:inherit}\n.wp-drc-box textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}\n.wp-drc-chk{display:flex;align-items:center;gap:8px;font-size:.9rem;margin:2px 0}\n.wp-drc-chk input{width:auto}\n.wp-drc-btn{display:inline-block;padding:9px 16px;background:#2271b1;color:#fff;border:none;border-radius:5px;cursor:pointer;font-size:.9rem;margin:4px 6px 4px 0}\n.wp-drc-btn:hover{background:#135e96}\n.wp-drc-btn.sec{background:#f0f6fb;color:#2271b1;border:1px solid #c3d9ec}\n.wp-drc-out{width:100%;min-height:90px;margin-top:6px;padding:10px;background:#f6f7f7;border:1px solid #dcdcde;border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-all;box-sizing:border-box}\n.wp-drc-lbl{font-size:.8rem;font-weight:600;color:#50575e;margin:12px 0 2px}\n.wp-drc-note{background:#f0f6fb;border:1px solid #d1e1ef;border-radius:5px;padding:10px 12px;font-size:.82rem;color:#50575e;margin-top:12px}\n.wp-drc-warn{background:#fcf0f1;border:1px solid #f0c8ca;color:#8a1f24}\n<\/style>\n<div class=\"wp-drc-box\">\n<h3>Docker Run \u2192 Compose Converter<\/h3>\n<div class=\"wp-drc-lbl\">docker run-Befehl<\/div>\n<textarea id=\"wp-drc-in\" rows=\"5\" placeholder=\"docker run -d --name web -p 8080:80 -e TZ=Europe\/Berlin -v \/srv\/web:\/usr\/share\/nginx\/html --restart unless-stopped nginx:latest\"><\/textarea>\n<button class=\"wp-drc-btn\" onclick=\"wp-drc-conv()\">In Compose umwandeln<\/button>\n<div class=\"wp-drc-lbl\">docker-compose.yml<\/div>\n<textarea id=\"wp-drc-out\" rows=\"12\" readonly class=\"wp-drc-out\"><\/textarea>\n<button class=\"wp-drc-btn sec\" onclick=\"wp-drc-copy()\">Kopieren<\/button>\n<button class=\"wp-drc-btn sec\" onclick=\"wp-drc-dl()\">Herunterladen<\/button>\n<div class=\"wp-drc-note\">F\u00fcgt einen kompletten docker run-Befehl ein und erhaltet daraus eine g\u00fcltige docker-compose.yml. Unterst\u00fctzt -p, -e, -v, &#8211;name, &#8211;restart, &#8211;network, &#8211;hostname, &#8211;user, &#8211;cap-add, &#8211;device, &#8211;label u.&nbsp;a.<\/div>\n<\/div>\n<script>\n(function(){\n function tokenize(s){\n  var t=[],cur='',q='';\n  for(var i=0;i<s.length;i++){\n   var c=s[i];\n   if(q){ if(c===q){q=''}else{cur+=c} continue }\n   if(c==='\"'||c===\"'\"){q=c;continue}\n   if(c===' '||c==='\\t'||c==='\\n'||c==='\\r'){ if(cur.length){t.push(cur);cur=''} continue }\n   cur+=c;\n  }\n  if(cur.length){t.push(cur)}\n  return t;\n }\n function yv(v){ if(\/^[^\\s#:'\"]+$\/.test(v)){return v} return '\"'+v.replace(\/\"\/g,'\\\\\"')+'\"' }\n window['wp-drc-conv']=function(){\n  var raw=document.getElementById('wp-drc-in').value.trim();\n  var out=document.getElementById('wp-drc-out');\n  if(!raw){out.value='';return}\n  var toks=tokenize(raw.replace(\/\\\\\\n\/g,' '));\n  var i=0;\n  if(toks[i]==='docker'){i++}\n  if(toks[i]==='run'){i++}\n  var svc={image:'',container_name:'',ports:[],environment:[],volumes:[],labels:[],cap_add:[],devices:[],restart:'',hostname:'',working_dir:'',user:'',entrypoint:'',network_mode:'',privileged:false,command:[]};\n  var takesVal={'-p':1,'--publish':1,'-e':1,'--env':1,'-v':1,'--volume':1,'--name':1,'--restart':1,'--network':1,'--net':1,'-h':1,'--hostname':1,'-w':1,'--workdir':1,'-u':1,'--user':1,'--entrypoint':1,'-l':1,'--label':1,'--cap-add':1,'--device':1,'-m':1,'--memory':1,'--network-alias':1};\n  for(;i<toks.length;i++){\n   var t=toks[i];\n   if(t.charAt(0)!=='-'){\n    if(!svc.image){svc.image=t}else{svc.command.push(t)}\n    continue;\n   }\n   var flag=t,val=null,eq=t.indexOf('=');\n   if(t.slice(0,2)==='--'){ if(eq>-1){flag=t.slice(0,eq);val=t.slice(eq+1)} }\n   else if(t.length>2){ flag=t.slice(0,2); val=t.slice(2) }\n   function grab(){ if(val!==null){return val} i++; return toks[i]!==undefined?toks[i]:'' }\n   if(flag==='-p'||flag==='--publish'){svc.ports.push(grab())}\n   else if(flag==='-e'||flag==='--env'){svc.environment.push(grab())}\n   else if(flag==='-v'||flag==='--volume'){svc.volumes.push(grab())}\n   else if(flag==='--name'){svc.container_name=grab()}\n   else if(flag==='--restart'){svc.restart=grab()}\n   else if(flag==='--network'||flag==='--net'){svc.network_mode=grab()}\n   else if(flag==='-h'||flag==='--hostname'){svc.hostname=grab()}\n   else if(flag==='-w'||flag==='--workdir'){svc.working_dir=grab()}\n   else if(flag==='-u'||flag==='--user'){svc.user=grab()}\n   else if(flag==='--entrypoint'){svc.entrypoint=grab()}\n   else if(flag==='-l'||flag==='--label'){svc.labels.push(grab())}\n   else if(flag==='--cap-add'){svc.cap_add.push(grab())}\n   else if(flag==='--device'){svc.devices.push(grab())}\n   else if(flag==='--privileged'){svc.privileged=true}\n   else if(takesVal[flag]){grab()}\n  }\n  var name=svc.container_name||(svc.image?svc.image.split('\/').pop().split(':')[0]:'app');\n  var y=[];\n  y.push('services:');\n  y.push('  '+name+':');\n  if(svc.image){y.push('    image: '+yv(svc.image))}\n  if(svc.container_name){y.push('    container_name: '+yv(svc.container_name))}\n  if(svc.hostname){y.push('    hostname: '+yv(svc.hostname))}\n  if(svc.user){y.push('    user: '+yv(svc.user))}\n  if(svc.privileged){y.push('    privileged: true')}\n  if(svc.network_mode){y.push('    network_mode: '+yv(svc.network_mode))}\n  function block(key,arr){ if(arr.length){y.push('    '+key+':');arr.forEach(function(x){y.push('      - '+yv(x))})} }\n  block('ports',svc.ports);\n  block('environment',svc.environment);\n  block('volumes',svc.volumes);\n  block('devices',svc.devices);\n  block('cap_add',svc.cap_add);\n  block('labels',svc.labels);\n  if(svc.working_dir){y.push('    working_dir: '+yv(svc.working_dir))}\n  if(svc.entrypoint){y.push('    entrypoint: '+yv(svc.entrypoint))}\n  if(svc.command.length){y.push('    command: '+yv(svc.command.join(' ')))}\n  if(svc.restart){y.push('    restart: '+yv(svc.restart))}\n  out.value=y.join('\\n');\n };\n window['wp-drc-copy']=function(){var o=document.getElementById('wp-drc-out');o.select();navigator.clipboard.writeText(o.value)};\n window['wp-drc-dl']=function(){var o=document.getElementById('wp-drc-out').value;var b=new Blob([o],{type:'text\/yaml'});var a=document.createElement('a');a.href=URL.createObjectURL(b);a.download='docker-compose.yml';document.body.appendChild(a);a.click();document.body.removeChild(a)};\n})();\n<\/script>\n\n\n<div id=\"netgu-1335468080\"><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\"\r\n     crossorigin=\"anonymous\"><\/script>\r\n<!-- NetGuide.io-After-Widget-Tools -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-6258556257245998\"\r\n     data-ad-slot=\"5175852350\"\r\n     data-ad-format=\"auto\"\r\n     data-full-width-responsive=\"true\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Warum von docker run zu Compose wechseln?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wer einen Container bisher mit einem langen <code>docker run<\/code>-Befehl startet, verliert schnell den \u00dcberblick. Eine <strong>docker-compose.yml<\/strong> ist versionierbar, \u00fcbersichtlich und l\u00e4sst sich mit <code>docker compose up -d<\/code> reproduzierbar starten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dieser Converter zerlegt deinen <code>docker run<\/code>-Befehl und baut daraus das passende Compose-Format \u2013 inklusive Ports, Volumes, Umgebungsvariablen, Restart-Policy, Netzwerk und mehr. Die Umwandlung l\u00e4uft komplett in deinem Browser.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Unterst\u00fctzte Optionen<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>-p<\/code>\/<code>--publish<\/code> \u2192 ports, <code>-v<\/code>\/<code>--volume<\/code> \u2192 volumes<\/li>\n\n<li><code>-e<\/code>\/<code>--env<\/code> \u2192 environment, <code>--name<\/code> \u2192 container_name<\/li>\n\n<li><code>--restart<\/code>, <code>--network<\/code>, <code>--hostname<\/code>, <code>--user<\/code>, <code>--privileged<\/code><\/li>\n\n<li><code>--cap-add<\/code>, <code>--device<\/code>, <code>--label<\/code> sowie das Image und der Befehl<\/li>\n\n<li>Passend dazu: unser <a href=\"\/tools\/de\/docker-compose-generator\/\">Docker-Compose-Generator<\/a> zum Bauen von Grund auf<\/li>\n<\/ul>\n\n<div id=\"netgu-1586554533\" class=\"netgu-after-content netgu-entity-placement\"><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-6258556257245998\" crossorigin=\"anonymous\"><\/script><ins class=\"adsbygoogle\" style=\"display:block;\" data-ad-client=\"ca-pub-6258556257245998\" \ndata-ad-slot=\"4559785002\" \ndata-ad-format=\"auto\"><\/ins>\n<script> \n(adsbygoogle = window.adsbygoogle || []).push({}); \n<\/script>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Docker Run zu Docker Compose Converter: Wandle einen docker run-Befehl mit einem Klick in eine g\u00fcltige docker-compose.yml um \u2013 Ports, Volumes, Env, Restart &#038; mehr.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[33],"tags":[],"class_list":["post-310","post","type-post","status-publish","format-standard","hentry","category-generatoren"],"brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/comments?post=310"}],"version-history":[{"count":0,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/310\/revisions"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/media?parent=310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/categories?post=310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/tags?post=310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}