{"id":448,"date":"2018-04-15T11:23:22","date_gmt":"2018-04-15T11:23:22","guid":{"rendered":"https:\/\/pgoergen.de\/?p=448"},"modified":"2018-04-15T11:23:22","modified_gmt":"2018-04-15T11:23:22","slug":"running-wordpress-in-docker","status":"publish","type":"post","link":"https:\/\/pgoergen.de\/de\/2018\/04\/running-wordpress-in-docker\/","title":{"rendered":"WordPress dockerisiert"},"content":{"rendered":"<p>Die Frau setzt jetzt auch ein Blog auf. Da ger\u00e4t man schnell ins Spielen. W\u00e4hrend dieses Blog hier noch altbacken mit php und mysql auf dem Server l\u00e4uft habe ich f\u00fcr das neue ein Team aus Dockercontainern aufgesetzt:<\/p>\n<p>F\u00fcr die automatische Einrichtung ein Trio aus Containern basierend auf <a href=\"https:\/\/github.com\/evertramos\/docker-compose-letsencrypt-nginx-proxy-companion\">diesem compose file<\/a>:<\/p>\n<ul>\n<li><strong>nginx<\/strong> als reverse-proxy<\/li>\n<li><strong>jwilder\/docker-gen<\/strong> zum automatischen erstellen passender vhost-konfigurationen f\u00fcr den reverse proxy. Einfach die passende Umgebungsvariable <code>-e VIRTUAL_HOST=your.domain.com<\/code> setzen, und nginx richtet den passenden Vhost ein und leitet ihn auf den exponierten port weiter.<\/li>\n<li><strong>jrcs\/letsencrypt-nginx-proxy-companion<\/strong> zum automatischen Abruf passender Letsencrypt SSL zertifikate f\u00fcr die erstellten Vhosts.<\/li>\n<\/ul>\n<p>Darunter dann ein angepasstes <code>docker-compose.yml<\/code> f\u00fcr das \u00fcbliche Paar aus WordPress-container und *sql-container. Hauptanpassung (neben dem verschieben des WordPress-folders auf ein directory volume f\u00fcr einfachere anpassungen):<\/p>\n<pre>     environment:\r\n       VIRTUAL_HOST: <em>&lt;vhost-1&gt;<\/em>.de,<em>&lt;vhost-2&gt;<\/em>.de...\r\n       LETSENCRYPT_HOST: <em>&lt;vhost-1&gt;<\/em>.de,<em>&lt;vhost-2&gt;<\/em>.de...\r\n       LETSENCRYPT_EMAIL: <em>&lt;letsencrypt-mail&gt;<\/em><\/pre>\n<p>Damit funktioniert dann auch das automatische Erstellen eines vhosts.<\/p>\n<p>Die Nginx-reverse-proxy-l\u00f6sung macht es supereinfach neuen Containern gleich einen funktionierenden Vhost mit SSL zuzuteilen. Dabei braucht man f\u00fcrs Aufsetzen auch wenig l\u00e4nger als f\u00fcr die manuelle SSL-Konfiguration eines einzelnen Vhosts. Sobald man den zweiten Container mit SSL versorgen m\u00f6chte oder einen neuen Vhost hinzuf\u00fcgt hat man diese Zeit wieder drin.<\/p>","protected":false},"excerpt":{"rendered":"<p>Die Frau setzt jetzt auch ein Blog auf. Da ger\u00e4t man schnell ins Spielen. W\u00e4hrend dieses Blog hier noch altbacken mit php und mysql auf dem Server l\u00e4uft habe ich f\u00fcr das neue ein Team aus Dockercontainern aufgesetzt: F\u00fcr die automatische Einrichtung ein Trio aus Containern basierend auf diesem compose file: nginx als reverse-proxy jwilder\/docker-gen <a class=\"read-more\" href=\"https:\/\/pgoergen.de\/de\/2018\/04\/running-wordpress-in-docker\/\">[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-448","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/pgoergen.de\/de\/wp-json\/wp\/v2\/posts\/448","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pgoergen.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pgoergen.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pgoergen.de\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pgoergen.de\/de\/wp-json\/wp\/v2\/comments?post=448"}],"version-history":[{"count":2,"href":"https:\/\/pgoergen.de\/de\/wp-json\/wp\/v2\/posts\/448\/revisions"}],"predecessor-version":[{"id":450,"href":"https:\/\/pgoergen.de\/de\/wp-json\/wp\/v2\/posts\/448\/revisions\/450"}],"wp:attachment":[{"href":"https:\/\/pgoergen.de\/de\/wp-json\/wp\/v2\/media?parent=448"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pgoergen.de\/de\/wp-json\/wp\/v2\/categories?post=448"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pgoergen.de\/de\/wp-json\/wp\/v2\/tags?post=448"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}