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
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
[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.
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
$ 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
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
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",
},
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
[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