Meine kurze Anleitung (Ubuntu 18.04):
Rechte setzen:
sudo chown -R $(whoami) ~/.npm
sudo chown -R $(whoami) ~/.composer
sudo chown -R $(whoami) ~/_project_folder_
NPM aktualisieren (wenn nötig):
sudo npm install npm@latest -g
Starten:
./psh.phar docker start AKA docker-compose up --build -d
./psh.phar docker:ssh AKA docker exec -it <insert_id_here> bash
innerhalb des Containers dann:
./psh.phar install
Danach sollte auf localhost:8000 der Shop starten.. wenn eine MySQL Auth.-Method Fehlermeldung kommt hilft die Container zu beenden. In der Docker-Compose das DB-Image von dem MySQL-Image auf das MariaDB-Image zu ändern und noch mal die Container neu zustarten und ein wieder install durchführen.
Dann sollte alles laufen und man kann sich unter localhost:8000/admin mit admin - shopware anmelden.
Wenn man die lokalen psh.phar-Aufrufe durch die direkten Docker-Befehle ersetzt, sollte es auch unter Windows funktionieren. Innerhalb des Containers kann man natürlich wieder psh.phar verwenden.
Update:
manchaml kann auch helfen, dieses vorher einmal auszuführen, bevor man den Container startet und dort install aufruft:
php composer update --ignore-platform-reqs