Docker Umgebung starten
Ein per Subversion ausgespieltes Projekt starten Sie mit folgendem Kommandozeilenaufruf.
cd ~/workspace/PROJECTNAME/var/docker
docker-compose up -d
Hierbei werden alle Docker Container gestartet, die das Projekt benötigt, d.h.
- EGOCMS Webserver
- Ubuntu
- Red Hat
- SuSE
- ggf. ein Datenbankserver
- MySQL
- MariaDB
- MS SqlServer
- Oracle DB
- ein Dummy smtp Server (mailhog)
- ggf. ein Indizierungsserver
- egotec/elasticsearch:6 (privat, Freischaltung über EGOTEC Support)
- tomcat
- wildfly
- ggf. Authentifizierungsserver
- SAML2
- LDAP
- ActiveDirectory
Je nach Projekt und Orginalinstalltion befinden sich der Datenbank- und Indizierungsserver im EGOCMS Webserver.
Wir stellen die docker-compose Umgebung immer so nah wie dem Produktivsystem des Projekts nach. D.h. wenn im Produktivsystem eine externe Oracle Datenbank angesteuert wird, dann wird es in der docker-compose Umgebung auch einen Oracle Container geben.
Folgende Ports werden hierbei belegt:
- http über 80 und https über 443 für den EGOCMS Server
- http über 8025 für den Dummy SMTP Server
- ggf. http über 10080 und https über 10443 für einen Liveserver
- ggf. http über 20080 bis 60080 und https über 20443 bis 60443 für weitere Clusterserver
- ggf. bei sehr großen Installationen http über 11080 bis 59080 und https über 11443 bis 59443 für noch mehr Clusterserver
- ggf. werden auch mehrere Datenbank und Indizierungsserver gestartet
Bei größeren Projekten mit mehreren Clusterservern werden mindestens zwei docker-compose Umgebungen eingerichtet. Die erste Umgebung ist einfach aufgebaut, so dass die Templates schnell und Resourcensparend umgesetzt werden können. Die zweite Umgebung spiegelt dann die komplette Umgebung wider, so dass Integrationsstests durchgeführt werden können.
Bootstrap
Nach dem ersten Start laufen zwar der Webserver und PHP im Docker Container, das Projekt ist allerdings noch nicht initialisiert und EGOCMS ist nicht installiert. Es muss daher ein sogenannter Bootstrap durchgeführt werden.
docker exec PROJEKTNAME bash /bootstrap.sh
Es handelt sich hierbei um ein Bashskript, dass die vom Projekt verwendete EGOCMS Version herunterlädt und danach die in der Versionsverwaltung hinterlegte Datensicherung einspielt.
Arbeiten
Die EGOCMS Installation ist nun sowohl über http://localhost
als auch https://localhost erreichbar. Achtung: Das Zertifikat für localhost ist nicht sicher. Sie müssen dieses daher Ihrem Browser explizit erlauben.
Kurzanleitung weiterer Docker-Compose Befehle
Die Befehle müssen immer im Hauptverzeichnis des Projekts ausgeführt werden.
- docker-compose down
Docker Container PROJEKTNAME anhalten. Dies kann mehrere Sekunden dauern. Beim Herunterfahren der Workstation geschieht dies automatisch. - docker exec -it egocms bash
Eine Kommandozeile im Docker Container öffnen. - docker ps
Alle gerade laufenden Docker Container anzeigen. - docker ps --all
Alle Docker Container anzeigen, auch solche, die aktuell gar nicht laufen. - docker rm PROJEKTNAME
Docker Container löschen. - docker rmi IMAGENAME/IMAGEUUID
Docker Image löschen. - docker pull egotec/server-cms:16.04
Eine aktuelle Version des Docker Images egotec/server-cms:16.04 herunterladen. - docker-compose pull
Alle Images einer docker-compose Umgebung aktualisieren.