Closed Yasamato closed 9 months ago
Okay, man darf nicht /var/www/html
mounten, das funktioniert nicht (leerer Ordner, keine Checks auf leer -> copy rein). Am Besten nur die /var/www/html/config/config.json
.
Folgende Fehlermeldung besteht trotzdem:
sudo: npm: command not found
sudo: npm: command not found
Zum reproduzieren:
Einmal docker compose up
ohne Mount und konfigurieren auf der Weboberfläche:
version: '3'
services:
database:
image: mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${DATABASE_ROOT_PASSWORD}
MYSQL_DATABASE: antragsgruen
volumes:
- /mnt/appdata/antragsgruen/db_config:/etc/mysql/conf.d/
- /mnt/appdata/antragsgruen/db_data:/var/lib/mysql
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
antragsgruen:
image: jugendpresse/docker-antragsgruen
restart: always
ports:
- 8280:80
environment:
- TIMEZONE="Europe/Berlin"
- SMTP_HOST=smtp.strato.de
- SMTP_PORT=465
- SMTP_FROM=${MAIL_USER}
- SMTP_USER=${MAIL_USER}
- SMTP_PASS=${MAIL_PASSWORD}
- APACHE_FQDN=${FQDN}
Dann sich die generierte Config herauskopieren (z.B.) via:
cat /var/www/html/config/config.json
anzeigen lassen dann CTRL
+C
und CTRL
+V
.
Danach docker compose up
mit Mount der Konfigurationsdatei:
version: '3'
services:
database:
image: mariadb
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${DATABASE_ROOT_PASSWORD}
MYSQL_DATABASE: antragsgruen
volumes:
- /mnt/appdata/antragsgruen/db_config:/etc/mysql/conf.d/
- /mnt/appdata/antragsgruen/db_data:/var/lib/mysql
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
antragsgruen:
image: jugendpresse/docker-antragsgruen
restart: always
ports:
- 8280:80
environment:
- TIMEZONE="Europe/Berlin"
- SMTP_HOST=smtp.strato.de
- SMTP_PORT=465
- SMTP_FROM=${MAIL_USER}
- SMTP_USER=${MAIL_USER}
- SMTP_PASS=${MAIL_PASSWORD}
- APACHE_FQDN=${FQDN}
volumes:
- /mnt/appdata/antragsgruen/config.json:/var/www/html/config/config.json
Btw. bei mir haben die environment variablen:
- SMTP_HOST=smtp.strato.de
- SMTP_PORT=465
- SMTP_FROM=${MAIL_USER}
- SMTP_USER=${MAIL_USER}
- SMTP_PASS=${MAIL_PASSWORD}
Keinen Einfluss auf die Generierung der Konfiguration...
Hi @Yasamato,
sorry für die verzögerte Antwort.
Okay, man darf nicht
/var/www/html
mounten, das funktioniert nicht (leerer Ordner, keine Checks auf leer -> copy rein). Am Besten nur die/var/www/html/config/config.json
.
Ein Mount, also das Einbinden eines Docker- / Container-Volumes, auf dem Pfad /var/www/html
funktioniert – ein (Host-)Bind, also das verbinden eines Pfades auf dem Docker- / Container-Host mit dem Pfad im Container nicht. Das liegt daran, dass die Container-Frameworks das initiale Kopieren von Daten in ein Volume unterstützen, in den Host-Bind aber nicht.
Auch verhindert so ein Mount die Update-Fähigkeit über das einfache austauschen des Containers, was ja eigentlich einer der Grundgedanken der ganzen Containerisierung ist: wenn das Update fällig ist, wirft man die alte Installation weg und hat einfach und ohne große Anpassungen durch das neue Container-Image das Update ausgerollt.
Folgende Fehlermeldung besteht trotzdem:
sudo: npm: command not found sudo: npm: command not found
Im Basis-Container hatte sich ein Versionsproblem eingeschlichen – und nodejs
und npm
wurden in inkompatiblen Versionen installiert. Das ist seit ein paar Wochen behoben.
Btw. bei mir haben die environment variablen:
- SMTP_HOST=smtp.strato.de - SMTP_PORT=465 - SMTP_FROM=${MAIL_USER} - SMTP_USER=${MAIL_USER} - SMTP_PASS=${MAIL_PASSWORD}
Keinen Einfluss auf die Generierung der Konfiguration...
Die SMTP-Konfiguration findet nicht innerhalb der Antragsgrün-Konfiguration statt. Das Image hat msmtp
integriert, so dass hier ein einfacher SMTP-Dienst „systemweit“ konfiguriert ist, der über die ganz normale sendmail
Funktionalität auch auf PHP und Co greift.
Ich hoffe, deine Fragen sind damit so weit beantwortet =) Viele Grüße macwinnie
Ich habe folgendes Problem bei der Installation/Aufsetzen des Docker Containers:
Beim Ausführung der
docker-compose.yml
Datei mit:Habe ich das Problem, dass beim Aufrufen der Webseite eine leere Apache File Index Seite gezeigt wird:
Ich nehme an, dass dies daran liegt, dass der Ordner
/var/www/html
leer ist. Der Mount-point gehört dem Userwww-data:www-data
und enthält nur ein leeres Verzeichnis mit dem Namenweb
.Die modifizierte docker-compose file:
Logs von
antragsgruen
:Logs der
db
:Interessanterweise konnte ich in der files/install.sh auch keinen Hinweis darauf finden, dass
npm
(bzw.node
) installiert wird. Also nehme ich an, dass darauf vertraut wurde, dass mit dem Base-Image devopsansiblede/apache bereits node installiert ist (siehe commit https://github.com/jugendpresse/docker-antragsgruen/commit/4aee990d08dbdde9472f46eec9a04223a1a4ef69). Da ich aber nach einer kurzen Recherche keine Dokumentationen oder sonstige Referenzen (geschweige Dockerfile) finden konnte zu dem Base-Image, bin ich hier etwas ratlos...