Erstellen Sie die Node.js-Umgebung mit Docker Compose

Motivation

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

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.

Erstellen und starten Sie einen Container

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.

Geben Sie den Knotencontainer ein

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.

Referenz

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

Erstellen Sie die Node.js-Umgebung mit Docker Compose
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
Erstellen Sie mit Docker eine Node.js-Umgebung
Umgebungsbau mit Docker für Anfänger
[Umgebungskonstruktion mit Docker] Rails 6 & MySQL 8
Aufbau einer GPU-Umgebung mit Docker [Version Oktober 2020]
Schienenumgebungskonstruktion mit Docker (persönliche Apokalypse)
Aufbau einer Laravel-Entwicklungsumgebung mit Docker (Mac)
[Docker] Erstellen Sie mit Docker eine Node.js + Express + Webpack-Umgebung
Erstellen einer Umgebung für Laravel + MySQL + phpMyadmin mit Docker
Aufbau der Rails Docker-Umgebung
Konstruktions- und Entwicklungsverfahren für lokale WordPress-Umgebungen mit Docker
Konstruktionsnotiz für die MySQL 5.7 (Docker) -Umgebung
Redmine (Docker) Umgebungskonstruktionsnotiz
Erstellen einer Docker-Umgebung mit WSL
Aufbau der Docker x Spring Boot-Umgebung
[Docker] postgres, pgadmin4-Umgebungskonstruktion
Erstellen einer Datenbankumgebung mit Docker in Spring Boot (IntellJ)
Erstellen Sie mit Docker eine Vue3-Umgebung!
Erstellen Sie mit Docker eine lokale Couchbase-Umgebung
Konstruktion der Laravel + Docker Laradock-Nutzungsumgebung
Erstellen Sie mit Docker eine SolrCloud-Überprüfungsumgebung
WordPress mit Docker Compose unter CentOS 8
Konstruktionsverfahren für Rails on Docker-Umgebungen
Erstellen Sie eine Entwicklungsumgebung für Rails-Anwendungen mit Docker [Docker, Rails, Puma, Nginx, MySQL]
Erstellen Sie mit Laradock eine Docker + Laravel-Umgebung
Erstellen einer Entwicklungsumgebung für Ruby on Rails mit Docker + VSCode (Remote Container)
Erstellen einer PostgreSQL-Umgebung mit Docker (vom Setup bis kurz vor der Entwicklung)
Erstellen Sie mit Docker Compose eine Entwicklungsumgebung für Django + MySQL + nginx
Konstruktionsverfahren für die Docker-Umgebung "Rails 6 x MySQL 8" für die gemeinsame Nutzung mit Teams
SQL-Anweisungslernen ~ Umgebungskonstruktion ~ Docker + MySQL
Erstellen einer Rails 6- und PostgreSQL-Umgebung mit Docker
Sapper × Go (Echo) × Aufbau einer Docker-Entwicklungsumgebung
Erstellen Sie mit Docker eine PureScript-Entwicklungsumgebung
Bearbeiten Sie MySQL mit Befehlen in der Docker-Umgebung
Erstellen Sie mit Docker eine Spring Boot-gradle-mysql-Entwicklungsumgebung
[Docker] Entwicklung der Entwicklungsumgebung Rails6 / Ruby2.7 / MySQL8
Aufbau der Spring Boot + Docker Java-Entwicklungsumgebung
Erstellen Sie mit Docker eine Wordpress-Entwicklungsumgebung
[Docker] Erstellen Sie die Ausführungsumgebung von Jupyter Lab mit Docker
Erstellen Sie eine Umgebung mit Docker unter AWS