Ich wollte Create React App einen kleinen Umweg üben, ohne die lokale Umgebung zu verschmutzen. Daher wollten wir eine Umgebung wie den Titel schaffen.
Endgültige Verzeichnisstruktur
node-docker/
|--docker-compose.yml
|--node/
|--app/
docker-compose.yml
Docker Compose Overview Compose ist ein Tool für Docker-Anwendungen, die mehrere Container definieren und ausführen.
Erstellen Sie zunächst den Projektordner node-docker
und dort die Datei docker compose.yml
.
Aktuelle Verzeichnisstruktur
node-docker/
|--docker-compose.yml
docker-compose.yml
version: '3'
services:
node:
image: node:14.9.0-alpine3.10
container_name: node
volumes:
- ./node/app:/app
tty: true
ports:
- 3000:3000
version
Dateiformatversion von docker-compose.yml
services
Sie können jeden Container als Service definieren.
node
Dienstname
image
Gibt das Image an, von dem aus der Container ausgeführt wird.
Wenn das Image nicht vorhanden ist, versucht Compose, es vom Docker Hub abzurufen.
Um beispielsweise ein Image aus "Dockerfile" zu erstellen, erstellen Sie "Dockerfile" im Verzeichnis "node" und geben Sie Folgendes an.
build: ./node
container_name
Geben Sie anstelle des standardmäßig generierten Namens einen benutzerdefinierten Containernamen an. Standardmäßig heißt es node-docker_node_1.
volumes
Teilen Sie den lokalen Pfad (links) und den Containerpfad (rechts).
tty
Gibt an, ob das Terminal gestartet werden soll. (Vielleicht)
ports
Veröffentlichen Sie den Port. Geben Sie den Host und den Port (Host: Container) an oder geben Sie nur den Port des Containers an (der Port auf der Hostseite wird zufällig ausgewählt).
expose
macht den Port verfügbar und ist nur zwischen verknüpften Diensten zugänglich.
Nachdem Sie die erforderlichen Dateien haben, erstellen und starten wir den Container. Wenn Sie ein Image aus "Dockerfile" erstellen möchten, müssen Sie "Docker-Compose Build" ausführen. Diesmal benötigen Sie es jedoch nicht, da Sie das bereits erstellte Image remote erhalten. Es wird an dem Verzeichnis gearbeitet, in dem sich "docker-compose.yml" befindet.
terminal
$ docker-compose up -d
Mit der Option d
kann es im Hintergrund gestartet werden.
Nachdem die Knotenumgebung eingerichtet ist, befindet sich die Knotenumgebung in einem Container, sodass Sie daran arbeiten müssen.
Starten Sie zu diesem Zweck die Shell und das Terminal des Containers mit dem Befehl exec
, mit dem der angegebene Befehl im laufenden Container ausgeführt werden kann.
terminal
$ docker-compose exec node sh
Die Verzeichnisstruktur innerhalb des Containers ist wie folgt, und da sie in "docker-compose.yml" angegeben wurde, entsprechen das Verzeichnis "app" im Container und das lokale Verzeichnis "node / app".
Verzeichnisstruktur im Container
/
|--app
|--bin
|--dev
|--home
|--lib
|--media
|--mnt
|--opt
|--proc
|--root
|--run
|--sbin
|--srv
|--sys
|--tmp
|--usr
|--var
Ich denke, es ist besser, in dem App-Verzeichnis zu arbeiten, das lokal freigegeben werden kann.
Compose file version 3 reference Referenz zum Verfassen von Dateien Docker Compose --docker-compose.yml Referenz [Für Anfänger] Einfache Erstellung der Entwicklungsumgebung von Node.j mit Docker (2)
Recommended Posts