Je voulais pratiquer Create React App un petit détour sans polluer l'environnement local. Par conséquent, nous voulions créer un environnement comme le titre.
Structure du répertoire final
node-docker/
|--docker-compose.yml
|--node/
|--app/
docker-compose.yml
Présentation de Docker Compose Compose est un outil pour les applications Docker qui définissent et exécutent plusieurs conteneurs.
Tout d'abord, créez le dossier de projet node-docker
et créez le fichier docker compose.yml
ici.
Structure de répertoire actuelle
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
Version du format de fichier de docker-compose.yml
services
Vous pouvez définir chaque conteneur en tant que service.
node
Nom du service
image
Spécifie l'image à partir de laquelle le conteneur sera exécuté.
Si l'image n'existe pas, Compose essaiera de l'extraire du Docker Hub.
Pour créer une image à partir de Dockerfile
, par exemple, créez Dockerfile
sous le répertoire node
et spécifiez comme suit.
build: ./node
container_name
Spécifiez un nom de conteneur personnalisé au lieu du nom généré par défaut. Par défaut, il sera nommé node-docker_node_1.
volumes
Partagez le chemin local (à gauche) et le chemin du conteneur (à droite).
tty
Spécifie s'il faut démarrer le terminal. (Peut être)
ports
Publiez le port. Spécifiez l'hôte et le port (hôte: conteneur) ou spécifiez uniquement le port du conteneur (le port côté hôte est sélectionné au hasard).
expose
expose le port et n'est accessible qu'entre les services liés.
Maintenant que vous avez les fichiers nécessaires, créons et démarrons le conteneur.
Si vous voulez créer une image à partir de Dockerfile
, vous devez faire Docker-compose build
, mais cette fois vous n'en avez pas besoin car vous obtiendrez l'image déjà construite à distance.
Le travail se fait sur le répertoire où se trouve docker-compose.yml
.
terminal
$ docker-compose up -d
L'option d
lui permet d'être lancé en arrière-plan.
Maintenant que l'environnement de nœuds est en place, l'environnement de nœuds se trouve sur un conteneur, vous devez donc y travailler.
Pour cela, démarrez le shell et le terminal sur le conteneur en utilisant la commande exec
qui peut exécuter la commande spécifiée dans le conteneur en cours d'exécution.
terminal
$ docker-compose exec node sh
La structure du répertoire à l'intérieur du conteneur est la suivante, et comme il a été spécifié dans docker-compose.yml
, le répertoire app
dans le conteneur et le répertoire local node / app
correspondent.
Structure de répertoire dans le conteneur
/
|--app
|--bin
|--dev
|--home
|--lib
|--media
|--mnt
|--opt
|--proc
|--root
|--run
|--sbin
|--srv
|--sys
|--tmp
|--usr
|--var
Je pense qu'il est préférable de travailler dans le répertoire des applications qui peut être partagé localement.
Compose file version 3 reference Référence du fichier de composition Docker Compose - Référence docker-compose.yml [Pour les débutants] Construction de l'environnement de développement Easy Node.js avec Docker (2)
Recommended Posts