{"id":132,"date":"2026-08-20T18:44:28","date_gmt":"2026-08-20T18:44:28","guid":{"rendered":"https:\/\/netguide.io\/tools\/docker-compose-generator\/"},"modified":"2026-08-20T18:44:28","modified_gmt":"2026-08-20T18:44:28","slug":"docker-compose-generator","status":"publish","type":"post","link":"https:\/\/netguide.io\/tools\/de\/docker-compose-generator\/","title":{"rendered":"Docker-Compose-Generator"},"content":{"rendered":"<div id=\"netgu-2373402153\" 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-dc-container { max-width:100%; background:#fff; padding:20px; border:1px solid #ddd; border-radius:10px; font-family:-apple-system, sans-serif; color:#333; }\n.wp-dc-title { margin:0 0 15px 0; color:#2271b1; font-size:1.4rem; }\n.wp-dc-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:12px; margin-bottom:10px; }\n.wp-dc-input-group label { display:block; font-size:11px; font-weight:bold; margin-bottom:4px; text-transform:uppercase; color:#666; }\n.wp-dc-input-group input, .wp-dc-input-group select { width:100%; padding:8px; border:1px solid #ccc; border-radius:4px; box-sizing:border-box; }\n.wp-dc-checkbox-group { margin:15px 0; font-size:12px; display:flex; align-items:center; gap:8px; color:#666; }\n.wp-dc-note { font-size:12px; color:#666; margin-top:12px; min-height:1em; }\n.wp-dc-warn { color:#d63638; font-weight:bold; }\n.wp-dc-results { margin-top:20px; border-top:2px solid #eee; padding-top:15px; }\n.wp-dc-res-item { display:flex; justify-content:space-between; margin-bottom:6px; font-size:14px; gap:10px; }\n.wp-dc-total { font-weight:bold; font-size:18px; color:#2271b1; margin:10px 0; padding:5px 0; border-top:1px solid #eee; border-bottom:1px solid #eee; }\n.wp-dc-val { color:#2271b1; font-weight:bold; }\n.wp-dc-out { width:100%; box-sizing:border-box; padding:10px; border:1px solid #ccc; border-radius:4px; font-family:monospace; font-size:13px; word-break:break-all; background:#f7f7f7; margin-top:6px; }\n.wp-dc-btn { background:#2271b1; color:#fff; border:none; padding:9px 14px; border-radius:4px; cursor:pointer; font-size:13px; margin-top:10px; }\n<\/style><div class=\"wp-dc-container\">\n  <h3 class=\"wp-dc-title\">Docker-Compose-Generator<\/h3>\n  <div class=\"wp-dc-grid\">\n    <div class=\"wp-dc-input-group\"><label>Service-Name<\/label><input type=\"text\" id=\"dc-name\" value=\"web\" oninput=\"genCompose()\"><\/div>\n    <div class=\"wp-dc-input-group\"><label>Image<\/label><input type=\"text\" id=\"dc-image\" value=\"nginx:latest\" oninput=\"genCompose()\"><\/div>\n    <div class=\"wp-dc-input-group\"><label>Container-Name<\/label><input type=\"text\" id=\"dc-cname\" value=\"\" placeholder=\"optional\" oninput=\"genCompose()\"><\/div>\n    <div class=\"wp-dc-input-group\"><label>Restart-Policy<\/label><select id=\"dc-restart\" onchange=\"genCompose()\"><option value=\"no\">no<\/option><option value=\"unless-stopped\" selected>unless-stopped<\/option><option value=\"always\">always<\/option><option value=\"on-failure\">on-failure<\/option><\/select><\/div>\n  <\/div>\n  <div class=\"wp-dc-grid\">\n    <div class=\"wp-dc-input-group\"><label>Ports (einer pro Zeile)<\/label><textarea id=\"dc-ports\" rows=\"3\" style=\"width:100%; box-sizing:border-box; padding:8px; border:1px solid #ccc; border-radius:4px; font-family:monospace; font-size:13px;\" oninput=\"genCompose()\">8080:80<\/textarea><\/div>\n    <div class=\"wp-dc-input-group\"><label>Volumes (einer pro Zeile)<\/label><textarea id=\"dc-vols\" rows=\"3\" style=\"width:100%; box-sizing:border-box; padding:8px; border:1px solid #ccc; border-radius:4px; font-family:monospace; font-size:13px;\" oninput=\"genCompose()\">.\/html:\/usr\/share\/nginx\/html<\/textarea><\/div>\n    <div class=\"wp-dc-input-group\"><label>Umgebungsvariablen (eine pro Zeile)<\/label><textarea id=\"dc-env\" rows=\"3\" style=\"width:100%; box-sizing:border-box; padding:8px; border:1px solid #ccc; border-radius:4px; font-family:monospace; font-size:13px;\" oninput=\"genCompose()\">TZ=Europe\/Berlin<\/textarea><\/div>\n  <\/div>\n  <label style=\"display:block; font-size:11px; font-weight:bold; text-transform:uppercase; color:#666; margin:12px 0 4px;\">docker-compose.yml<\/label>\n  <textarea id=\"dc-out\" class=\"wp-dc-out\" style=\"height:200px;\" readonly><\/textarea>\n  <button class=\"wp-dc-btn\" onclick=\"copyDc()\">Kopieren<\/button>\n  <div class=\"wp-dc-note\">Moderne Compose-Dateien brauchen keine \u201eversion:&#8221;-Zeile mehr. Ports und Volumes im Format host:container.<\/div>\n<\/div>\n<script>\nfunction dcLines(id){ return document.getElementById(id).value.split('\\n').map(function(s){return s.trim();}).filter(function(s){return s.length>0;}); }\nfunction genCompose(){\n  var name=(document.getElementById('dc-name').value||'app').trim()||'app';\n  var image=(document.getElementById('dc-image').value||'').trim();\n  var cname=(document.getElementById('dc-cname').value||'').trim();\n  var restart=document.getElementById('dc-restart').value;\n  var ports=dcLines('dc-ports'), vols=dcLines('dc-vols'), env=dcLines('dc-env');\n  var o='services:\\n  '+name+':\\n';\n  if(image) o+='    image: '+image+'\\n';\n  if(cname) o+='    container_name: '+cname+'\\n';\n  if(restart && restart!=='no') o+='    restart: '+restart+'\\n';\n  if(ports.length){ o+='    ports:\\n'; ports.forEach(function(p){ o+='      - \"'+p+'\"\\n'; }); }\n  if(vols.length){ o+='    volumes:\\n'; vols.forEach(function(v){ o+='      - \"'+v+'\"\\n'; }); }\n  if(env.length){ o+='    environment:\\n'; env.forEach(function(e){ o+='      - '+e+'\\n'; }); }\n  document.getElementById('dc-out').value=o;\n}\nfunction copyDc(){ var o=document.getElementById('dc-out'); if(!o.value)return; o.focus(); o.select(); try{navigator.clipboard.writeText(o.value);}catch(e){} }\ngenCompose();\n<\/script>\n\n\n<div id=\"netgu-2166859401\"><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\">Docker-Compose-Datei schnell erstellen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das Tool baut aus deinen Eingaben eine g\u00fcltige <code>docker-compose.yml<\/code> f\u00fcr einen Service. F\u00fclle die Felder aus \u2013 Ports, Volumes und Umgebungsvariablen jeweils eine Angabe pro Zeile \u2013 und kopiere das Ergebnis direkt in deine Datei.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ports:<\/strong> Format <code>host:container<\/code>, z. B. <code>8080:80<\/code> macht den Container-Port 80 unter Port 8080 des Hosts erreichbar.<\/li>\n\n\n<li><strong>Volumes:<\/strong> <code>.\/daten:\/pfad\/im\/container<\/code> bindet einen Host-Ordner ein und macht Daten persistent.<\/li>\n\n\n<li><strong>Restart-Policy:<\/strong> <code>unless-stopped<\/code> ist der \u00fcbliche Standard f\u00fcr Homelab-Dienste.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Starten kannst du den Stack anschlie\u00dfend mit <code>docker compose up -d<\/code> im Verzeichnis der Datei.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Verwandte Tools<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/tools\/de\/cronjob-generator\/\">Cronjob-Generator<\/a><\/li>\n\n\n<li><a href=\"\/tools\/de\/yaml-validator-formatter\/\">YAML Validator &#038; Formatter<\/a><\/li>\n<\/ul>\n\n\n<div id=\"netgu-1544393389\" 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-compose.yml per Formular erzeugen \u2013 Image, Ports, Volumes, Umgebungsvariablen und Restart-Policy. L\u00e4uft komplett im Browser.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","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-132","post","type-post","status-publish","format-standard","hentry","category-generatoren"],"brizy_media":[],"_links":{"self":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/132","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=132"}],"version-history":[{"count":0,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/posts\/132\/revisions"}],"wp:attachment":[{"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/media?parent=132"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/categories?post=132"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netguide.io\/tools\/wp-json\/wp\/v2\/tags?post=132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}