ctsmedia / docker-contao

Setup Contao Projects with docker
MIT License
19 stars 6 forks source link

docker-toolbox Nutzung / Hinweis Text #5

Open fkaminski opened 6 years ago

fkaminski commented 6 years ago

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 ...

DanielSchwiperich commented 6 years ago

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

fkaminski commented 6 years ago

Schaue ich mir an ... Danke

matthiasprieth commented 6 years ago

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...

fkaminski commented 6 years ago

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

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

fkaminski commented 6 years ago

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?

matthiasprieth commented 6 years ago

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 (https://github.com/composer/composer/issues/945) etc. anschauen.

fkaminski commented 6 years ago

@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