Créez Dockerfile, docker-compose.yml et exécutez nodejs sur Windows10, Linux, Raspeye

Dans la suite de l'article suivant que j'ai écrit plus tôt, je vais créer un Dockerfile et un docker-compose.yml et décrire la procédure pour l'exécuter cette fois. https://qiita.com/MCYamamoto/items/4d424af9573fa90edf61

Structure du dossier final

Tout d'abord, la structure finale du dossier. Ce sera comme suit.

dossier de base
+docker-compose.yml
+cont
 +env
  +Dockerfile
   +deploy //Code source à déployer(Cette fois, nodejs)
    +package.json
    +package-lock.json
    +build
     +fichiers js
  +share //Dossier partagé de l'hôte et du conteneur

Créer un Dockerfile

[URL de référence] https://qiita.com/pottava/items/452bf80e334bc1fee69a

Pour le flux global, il a été fait référence à ce qui précède. Installation Notez la commande lors de l'installation de ce dont vous avez besoin pour créer le Dockerfile final.

1. Choisissez une image Docker.

Puisque Raspai est ARM, je l'ai fait Debian comme une image correspondant à ARM. [URL de référence] https://qiita.com/koduki/items/0ed303dac5d32646194f

2. Démarrez le conteneur bash.

$ sudo docker run -it -v $(pwd):/tmp/share debian:buster /bin/bash
 -it: peut être utilisé dans le terminal
 -v: partage de dossiers avec des conteneurs

3. Installez ce dont vous avez besoin.

Installez les packages requis en fonction du programme que vous souhaitez exécuter.

apt-obtenir le nom du package d'installation

C'est comme ça.

Notez que lors de l'écriture dans un Dockerfile, l'option "-y" est requise car l'installation ne s'arrêtera pas.

Au final, je n'avais besoin que de node et de sqlite, il vaut donc mieux faire de l'image du conteneur un nœud En quittant le processus, le résultat final est le suivant.

Voici ce que nous faisons: --Copiez le code à déployer --Installez ce dont vous avez besoin sur le système d'exploitation --Installez les packages requis sur le nœud sous le dossier de déploiement avec "npm install"

#Dockerfile

FROM debian:buster

COPY deploy/ /home/deploy
WORKDIR /home/deploy

RUN apt-get update
RUN apt-get install -y cmake
RUN apt-get install -y libssl-dev
RUN apt install curl
RUN apt-get install -y sqlite3 libsqlite3-dev
RUN apt-get install -y nodejs npm && npm install n -g && n 12.18.4
RUN npm install

Créer docker-compose.yml

En utilisant le Dockerfile créé précédemment en tant qu'image de conteneur, le nœud sous le dossier de déploiement est enfin automatiquement démarré. <Supplément>

version: "3.8"
services:
  cont:
    build:
      context: ./cont/env
      dockerfile: Dockerfile
    container_name: CONT-1
    tty: true
    volumes:
      - "./cont/env/share:/tmp/share"
      - ".:/workspace"
      - "./cont/env/deploy/build:/home/deploy/build"
    working_dir: /home/deploy/build
    command: npm run start

<Supplément> Ce qui suit est décrit dans package.json afin que les programmes sous le dossier de construction puissent s'exécuter.

  "scripts": {
    "start": "node ./build/main.js",
  },

Démarrer docker-compose

Si vous placez l'environnement de dossier créé dans n'importe quel dossier de chaque système d'exploitation (Windows10, Linux, Raspi) et exécutez ce qui suit, tout fonctionnera de la même manière.

sudo docker-compose up --build

(Bonus) Créez un environnement de débogage avec Vscode

[URL de référence] https://tech-lab.sios.jp/archives/21675 https://qiita.com/Yuki_Oshima/items/d3b52c553387685460b0

Dans Visual Studio Code, cliquez sur le menu f1 ou sur l'icône verte qui apparaît en bas à gauche, sélectionnez «Remote-Containers: Open Folder in Container ...» et sélectionnez le dossier contenant docker-compose.yml. Après un certain temps, le conteneur s'exécutera et vous pourrez le déboguer dans la console.

vscode, docker pratique ,,

Recommended Posts

Créez Dockerfile, docker-compose.yml et exécutez nodejs sur Windows10, Linux, Raspeye
Installez Docker et docker-compose sur Raspeye 4, Linux (Debian) et Windows 10, respectivement
Installez Docker sur Raspberry Pi 4 et Raspberry Pi OS 64 bits
Comment exécuter javafx avec Raspeye publié le 12/07/2020
Hein!? Exécuter Linux sur Windows? Je peux le faire! !! (J'ai défini WSL2 et mis Ubuntu dedans)
Installez Docker sur Raspberry Pi
Mettez Ubuntu 20.04.1 dans Raspberry 4
Exécutez openvpn sur Docker (Windows)
Serveur Minecraft sur Raspberry Pi 4
Jusqu'à ce qu'Ubuntu 20 soit installé et que Docker fonctionne sur Windows 10 Home et WSL2
Installez MariaDB sur le système d'exploitation Raspberry Pi
Essayez de mettre CentOS 8 dans Raspberry Pi 3
Installez Java 9 sur Windows 10 et CentOS 7
Installons Docker sur Windows 10 et créons un environnement de vérification pour CentOS 8!