Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Pembuatan multi-tahap dengan wadah

Sistem dengan cepat menjadi sangat besar saat Anda mengirimkannya secara lengkap. Ini termasuk build dan seringkali lingkungan build dan test. Bahkan jika ekstraksi file yang akan dikirim tidak menjadi masalah, itu memakan waktu.

Kontainer menawarkan kemungkinan untuk melakukan ini secara otomatis.

Di sini Anda memiliki opsi untuk menentukan beberapa wadah dalam satu file. Situs web yang dibuat dalam JavaScript dan dibuat dengan Node.js adalah contoh yang bagus.

Contoh:

Node.js:~ 400 Mbyte – 600 Mbyte
nginx server web:~ 20 Mbyte
Situs web:~ 2 Mbyte

Seluruh sistem sebagai wadah menghasilkan total lebih dari 600 Mbyte, meskipun hanya 22 Mbyte (server web + situs web) yang dibutuhkan. Selain itu, ada risiko keamanan untuk sistem karena ada perangkat lunak, yang tidak diperlukan untuk operasi yang produktif. Solusi di sini adalah pembangunan multi-tahap.

Dalam build multi-tahap, beberapa container didefinisikan dalam satu file dan kemudian hanya data yang diperlukan dari satu container ke container lainnya yang ditransmisikan.

Contoh file docker multi-tahap

Untuk tetap menggunakan Node.js, berikut adalah contoh build multi-tahap. Wadah pertama berisi Node.js sebagai sistem build, di dalamnya situs web dibuat. Wadah kedua berisi server web, yang menyalin data yang diperlukan dari penampung pertama setelah pembangunan.

## 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;"]

Hasilnya adalah wadah kecil yang hanya berisi yang paling diperlukan. Kami menggunakan distribusi Linux yang sangat kecil untuk nginx dengan alpine.

Keuntungan lainnya adalah Anda dapat mengakses dua wadah komunitas yang sudah jadi dan karenanya tidak memiliki pekerjaan untuk membuat dan memeliharanya. Untuk pembaruan sistem, wadah komunitas hanya diganti secara teratur. Semuanya dapat diotomatisasi dengan luar biasa dalam pipeline dengan GitLab (atau alat lainnya).


Teknologi Industri

  1. Pilih Layanan Cloud Anda dengan Bijak untuk Membangun Kepercayaan dengan Pemimpin Bisnis
  2. Aritmatika dengan Notasi Ilmiah
  3. Tanya Jawab dengan Arsitek Solusi Industri 4.0
  4. Bangun IOT Pertama Anda dengan Raspberry Pi, sensor DHT11, dan Thingspeak.
  5. Microsoft Membangun Model Generasi Bahasa Terbesar Dengan 17 Miliar Parameter
  6. Bagaimana Perusahaan Rantai Pasokan Dapat Membangun Peta Jalan Dengan AI
  7. Smart Procurement Saldo AI Dengan HI
  8. Derek Kontainer
  9. Kontainer dibuat untuk lengan di x86
  10. Pembuatan multi-tahap dengan wadah