Ein Bash-Skript zur Überwachung von mehrstufigen, lang laufenden Prozessen in Echtzeit, mit Simultananzeige von Fortschritt und vollständiger Log-Erfassung.
Ein Bash-Skript zur Überwachung von mehrstufigen, lang laufenden Prozessen in Echtzeit, mit Simultananzeige von Fortschritt und vollständiger Log-Erfassung.
When the admins set up my new laptop they forgot to enable hibernation manually and the device deep decharged over night.
When the admins set up my new laptop they forgot to enable hibernation manually and the device deep decharged over night.
Integration Tests mit Codeception in Gitlab Pipeline beschleuningen durch optimieren der Datenbankzugriffe.
Wenn man als Team einen lokalen Entwicklungsworkspace für PHP Projekte mit Docker betreibt, hat man, wenn mehrere Betriebssysteme eingesetzt werden, das Problem, dass nicht auf allen Betriebssystemen die Dateirechte ignoriert werden (was ja eigentlich richtig ist). Das führt unter Linux z.B. dazu, wenn man in einen Docker container via docker-compose exec
geht und dort eine Datei anlegt, diese als Root oder als der Prozessuser der als Standard definiert wird (z.b www-data), im Hostdateisystem angelegt wird.
Um das Problem unter Linux zu umgehen, muss man sich im Container mit derselben UserID (UID) bewegen, die man auch auf dem Host-Bewerbeitssystem hat (üblicherweise für den ersten „normalen“ Benutzer eines Systems die UID 1000). Allerdings kann es natürlich auch eine andere UID sein, und man muss daher die UID flexibel übergeben werden.
Um das zu erreichen, wird der im Container verwendete www-data user auf die UID des wirklichen Benutzers umgebogen. Die aktuelle UID wird als Variable an docker compose
übergeben.
Ich habe in diesem Beispiel alle weiteren Einstellungen für z.B. ssh-key Import, composer caching und Xdebug entfernt, um hier nur das Thema Schreibrechte zu behandeln.
services: php-fpm: build: context: php-fpm args: USER_ID: "${UID}" volumes: - ./:/app depends_on: - database working_dir: /app
FROM php:8.2-fpm ARG USER_ID=0 ENV USER_ID ${USER_ID} RUN echo USER_ID=${USER_ID} RUN mkdir /var/www/.composer && chown $USER_ID:$USER_ID /var/www/.composer RUN usermod -u $USER_ID www-data USER $USER_ID
export UID
docker compose -f docker-compose.yml -p workspace up
docker compose -f docker-compose.yml -p workspace exec php-fpm
Beispiel für ein docker-compose.yml mit einem fpm container, welcher auch als entrypoint verwendet wird um z.B. `composer up` auszuführen.
Article relase date: / Last update: