Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Technologie industrielle

Constructions en plusieurs étapes avec conteneur

Les systèmes deviennent rapidement très volumineux lorsque vous les expédiez complets. Cela inclut la construction et souvent l'environnement de construction et de test. Même si l'extraction des fichiers à expédier ne pose pas de problème, elle prend du temps.

Les conteneurs offrent la possibilité de le faire automatiquement.

Ici, vous avez la possibilité de définir plusieurs conteneurs dans un seul fichier. Un site Web créé en JavaScript et construit avec Node.js en est un bon exemple.

Exemple :

Node.js :~ 400 Mo – 600 Mo
Serveur Web nginx :~ 20 Mo
Site Web :~ 2 Mo

L'ensemble du système en tant que conteneur représente un total de plus de 600 Mo, bien que seulement 22 Mo (serveur Web + site Web) soient nécessaires. De plus, il existe un risque de sécurité pour le système car un logiciel est présent, ce qui n'est pas nécessaire pour une opération de production. Une solution ici est une construction en plusieurs étapes.

Dans une construction en plusieurs étapes, plusieurs conteneurs sont définis dans un fichier, puis seules les données nécessaires d'un conteneur à l'autre sont transmises.

Exemple dockerfile multi-étapes

Pour rester avec le Node.js, voici un exemple de build en plusieurs étapes. Le premier conteneur contient Node.js comme système de construction, dans lequel le site Web est créé. Le deuxième conteneur contient le serveur Web, qui copie les données nécessaires du premier conteneur après la construction.

## Base System Stage 1
## Use community Node.js container
FROM node:8.11.3 as buildsystem

## Add source from our Git project
COPY ./source /root/frontend

## Build frontend with Nodejs
WORKDIR /root/frontend/
RUN npm install \
&& npm run build

#####################################################################
#####################################################################

## Base System Stage 2
## Use community nginx container
FROM nginx:alpine 

## Copy build from stage 1
RUN mkdir -p /var/www/html/<MyApp>
COPY --from=buildsystem /root/frontend/dist/ /var/www/html/<MyApp>/

## Add default config for nginx
ADD default.conf /etc/nginx/conf.d/

## Publish Port
EXPOSE 80

## Start nginx
CMD ["nginx", "-g", "daemon off;"]

Le résultat est un petit récipient qui ne contient que le plus nécessaire. Nous utilisons une très petite distribution Linux pour nginx avec alpine.

Un autre avantage est que vous pouvez accéder à deux conteneurs communautaires prêts à l'emploi et n'avez donc aucun travail pour les créer et les maintenir. Pour les mises à jour du système, les conteneurs communautaires sont simplement remplacés régulièrement. Le tout peut être merveilleusement automatisé dans un pipeline avec GitLab (ou d'autres outils).


Technologie industrielle

  1. Choisissez judicieusement vos services cloud pour instaurer la confiance avec les chefs d'entreprise
  2. arithmétique avec notation scientifique
  3. Q&R avec un architecte de solution Industrie 4.0
  4. Créez votre premier IOT avec un Raspberry Pi, un capteur DHT11 et Thingspeak.
  5. Microsoft crée le plus grand modèle de génération de langage avec 17 milliards de paramètres
  6. Comment les entreprises de la chaîne d'approvisionnement peuvent établir des feuilles de route avec l'IA
  7. Smart Procurement Balances AI avec HI
  8. Grues à conteneurs
  9. Constructions de conteneurs pour le bras sur x86