Developing Discourse using a Dev Container

Für diejenigen, die nicht an VS Code gebunden sind, ist dies der Prozess, um DevContainers ausschließlich mit der devcontainers-CLI zu nutzen.

Unter der Annahme, dass devcontainers bereits installiert ist:

Container erstellen

git clone https://github.com/discourse/discourse && cd discourse
devcontainer build
devcontainer up --workspace-folder .
devcontainer exec bash

Sobald Sie sich im Container befinden, müssen Sie die Abhängigkeiten erstellen:

pnpm install
bundle install
SKIP_MULTISITE=1 SKIP_TEST_DATABASE=1 bin/rake db:create db:migrate
DISCOURSE_DEV_ALLOW_ANON_TO_IMPERSONATE=1 bin/ember-cli -u > /dev/null 2>&1 &
  • Ändern Sie /dev/null in eine andere Datei, wenn Sie Protokolle sehen möchten.
  • Wenn Sie den Prozess weiterlaufen lassen möchten, während Sie keine Verbindung zur Shell haben, führen Sie disown aus.

Auf Discourse zugreifen

docker inspect <name> | jq '.[0].NetworkSettings.Networks.bridge.IPAddress'

Dies zeigt die dem Container zugewiesene IP-Adresse an.
Öffnen Sie in Ihrem Browser http://<ipaddress>:4200.

Bereinigen

Um Ihren DevContainer zu löschen (die Optionen down/delete sind noch nicht implementiert):

Rufen Sie den Namen des Containers ab:
docker ps

Stoppen und löschen Sie den Container:
docker stop <name> && docker rm <name>

Löschen Sie die Volumes:
docker volume rm discourse-node_modules discourse-pg discourse-redis

2 „Gefällt mir“