ctsmedia/docker-contao

docker-toolbox Nutzung / Hinweis Text

Opened this issue · 7 comments

Habe unter Windows 7 nur die docker-toolbox (Virtualbox) zur Verfügung.
Die "docker-compose.yml" in ein lokales Verzeichnis geladen und "docker-compose up -d" ausgeführt.

Mit der docker-toolbox steht so kein "localhost" zur Verfügung, stattdessen muß
über "docker-machine ip" die entsprechende Adresse genutzt werden ala: http://192.168.99.100/contao/install

Bei der Datenbank Abfrage des Contao "Install Tools" für "Host" dann entweder den Eintrag "db" oder die IP des Containers "docker-data_db_1" aus ""docker network inspect docker-data_default" ...

Evtl. könnte man das in der hiesigen readme erwähnen ...

Frage:
Ich würde gerne lokale Verzeichnisse/Dateien (template, files/theme/css etc.) mit den Container synchronisieren. Komme da aber nicht weiter. Für einen Denkanstoß dankbar ...

Hi @fkaminski ,

hier stehen Infos bez. Development. Wichtig ist der Part des mounten. Das geht auch für files, templates usw. und nicht nur für bundles.
Du könntest sowas machen wie:

...
volumes:
      - /var/www/share/project
      - ./mythemefiles:/var/www/share/project/files/mytheme

PS: Das Contao liegt im Container direkt unter/var/www/share/project

Schaue ich mir an ...
Danke

Beachte vielleicht noch, dass Docker-Toolbox bzw. VirtualBox bei Win7 Probleme mit dem Mounten von Foldern außerhalb deines /User-Ordners hat.

...
volumes:
  - /var/www/share/project
  - ~/shared-docker-volume:/var/www/share/project/shared-volume # here we have our development files like modules & assets 

Habe es im ersten Schritt mal so gelöst.

Vielleicht gibt es noch eine Lösung für relative Pfade...

Thanks for advice.
Ich habe in der Virtualbox für die docker "default" vbox unter "Gemeinsame Ordner" einen neuen Eintrag gesetzt:

  • Ordner-Pfad: d:\
  • Ordner-Name: d
  • "Automatisch einbinden" aktiviert
  • "Permanent erzeugen" aktiviert

Kann man auch auf der Konsole via VBoxManage setzen.

Auf der Konsole dann mit:
docker run -v //d/MyPath ...
oder
docker run -v //$PWD/MyPath ...

In der "docker-compose.yml":
volumes: //d/MyPath:/var/www/share/project/files/theme
oder
volumes: $PWD/MyPath:/var/www/share/project/files/theme

Eine Frage noch :-)
Habe jetzt über das Dockerfile eine aktuelle Contao 4.4.20 "gebuildet" (mit PHP 7.2-fpm Tag s.:
https://hub.docker.com/r/ctsmedia/baseimage-web-php/tags/)

Und dann dieses image in der "docker-compose.yml" referenziert.
(Gleiches Ergebnis auch mit der Original "docker-compose.yml")

Wenn ich den Contao Manager aufrufe und ein Paket installieren möchte erhalte ich klassisch:

Installing contao-community-alliance/composer-plugin (3.0.9): The following exception is caused by a lack of memory or swap, or not having swap configured
Check https://getcomposer.org/doc/articles/troubleshooting.md#proc-open-fork-failed-errors for details

In Process.php line 344:
proc_open(): fork failed - Cannot allocate memory

Über die Cloud geht es dann ...
Kann ich da noch etwas ändern?

Glaube habe damals den Speicher der VBox erstmal auf 1gb gesetzt. Dann hats funktioniert.

Falls das nichts bringt, würde ich mir dann PHP memory_limit und swap files (composer/composer#945) etc. anschauen.

@matthiasprieth
Ok, habe mit

docker-machine stop
VboxManage modifyvm default --memory 4096
docker-machine start

den Speicher angehoben. Der CM ist dann (mit einem Package) durchgelaufen. Mehrere habe ich noch nicht probiert. Weiß aber jetzt woran ich bin ...

Danke an Alle für die Denkanstöße/Hilfe