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

Node-RED dan memulai dengan Docker

Wadah Docker dapat digunakan untuk menjalankan server node-RED pada perangkat PLCnext. Meskipun metode lain yang dijelaskan di sini sedikit lebih cepat. Penggunaan wadah OCI hadir dengan beberapa keuntungan. Misalnya ketika berulang kali menggunakan paket yang sama untuk suatu aplikasi, akan berguna untuk membuat image standar dan cukup mengunduhnya dari hub Docker. Docker juga dapat digunakan untuk memulai dan menghentikan server node-red kapan pun kita mau.

Blog ini hanya akan menjelaskannya. Pertama saya akan memandu Anda melalui proses instalasi Docker dan kami akan memeriksa instalasi. Kami akan membuat gambar khusus dengan paket sesuai keinginan kami yang telah diinstal sebelumnya dengan Dockerfile dan membuat wadah dari gambar yang baru kami buat. Terakhir, kami akan memastikan wadah kami akan mulai saat boot pengontrol dan mendorong gambar kami ke Dockerhub.

Pemasangan Balena – mesin

Saya sedikit berbohong ketika saya mengatakan wadah Docker dapat digunakan untuk menjalankan runtime node-RED pada perangkat PLCnext. Seperti yang akan Anda lihat, kami menggunakan mesin Balena sebagai mesin untuk menjalankan container, lebih khusus lagi kami akan menggunakan container OCI (Open Container Initiative). Bergulat melalui nomenklatur akan membawa kita jauh ke Makersblog, tetapi di bagian bacaan lebih lanjut di akhir blog ini saya telah menambahkan beberapa tautan untuk mereka yang tertarik.

Prosedur instalasi agak mudah dan dapat ditemukan di sini untuk referensi lengkap, tetapi untuk alasan kepraktisan perintah juga diberikan di bagian berikutnya.
Pastikan Anda masuk sebagai pengguna root, untuk membuat kata sandi root baru ketik perintah berikut di shell dan ketik kata sandi admin Anda diikuti dengan dua kali root pass baru.

sudo passwd root

Masuk sebagai pengguna root dengan mengetik su diikuti dengan kata sandi yang baru Anda buat.

Kloning repositori git dan buka folder baru

git clone https://github.com/PLCnext/Docker_GettingStarted.git
cd Docker_GettingStarted

Jadikan skrip pengaturan dapat dieksekusi dan jalankan skrip tersebut.

chmod +x setup.sh
./setup.sh

Mendapatkan akses internet dari Kontainer Anda

Terkadang selama instalasi tabel nft diatur dengan salah. Untungnya ini adalah perbaikan yang mudah.
Panduan referensi lengkap dapat ditemukan di sini tetapi deskripsi singkat tentang kemajuan diberikan di bawah ini.

Dalam jenis shell Anda

ifconfig

Konfigurasi antarmuka jaringan Anda muncul. Salah satunya bernama Balena, perhatikan alamat Inet dari interface ini.
Seharusnya seperti ini:172.17.0.1 

Masukkan perintah berikut di shell Anda dan bandingkan alamat Inet yang diterima pada langkah sebelumnya dengan baris kedua dalam skrip.
Kedua alamat harus sama, jika demikian Anda dapat pergi ke bagian berikutnya.
Jika tidak, masukkan perintah berikutnya di shell Anda dan ubah alamat di baris kedua agar sesuai dengan yang diterima oleh ifconfig.

nano /etc/nftables/balena.nft

Berhenti dan mulai balena-engine-daemon untuk memuat ulang tabel nft.

/etc/init.d/balena stop
/etc/init.d/balena start

Kontainer pertama saya

Untuk mengunduh wadah pertama Anda gunakan perintah berikutnya, bendera akan dijelaskan nanti jangan khawatir tentang mereka sekarang. Sekarang kita akan mengunduh wadah simpul-merah tanpa paket costum. Jika Anda tidak membutuhkan paket kostum, Anda dapat berhenti di sini dan menjelajah ke port 1880 dari pengontrol.

balena-engine run -d -p 1880:1880 --name nodered --restart always nodered/node-red

Pusat Docker

Gambar arm32v7/debian yang digunakan di bagian sebelumnya diunduh dari Docker Hub.
Docker Hub pada dasarnya adalah tempat di mana gambar kontainer dikumpulkan dan dapat dengan mudah diunduh.
Saya dapat merekomendasikan organisasi arm32v7, organisasi ini membuat gambar yang kompatibel dengan arsitektur AXC F 2152.

Organisasi node-red telah membuat gambar yang kompatibel dengan AXC F 2152, kami akan menggunakan gambar ini di bagian berikutnya, tetapi pertama-tama saya ingin menyebutkan bahwa jika Anda akan sering menggunakan wadah, Anda harus membuat akun di Docker Hub dan menggunakan repositorinya. Anda akan mendapatkan repositori publik yang hampir tidak terbatas dan satu repositori pribadi saat Anda membuat akun gratis. Saya menolak menggunakan Docker Hub untuk sementara waktu, tetapi itu menghabiskan banyak waktu.
Di bagian terakhir blog ini saya akan sedikit meratakan kurva belajar menggunakan Docker Hub dengan menunjukkan cara login re-tag sebuah gambar dan push gambar ke Docker Hub.

Dockerfile

File buruh pelabuhan dalam arti tertentu adalah resep untuk gambar buruh pelabuhan. Di blog ini kita akan menggunakan Dockerfile untuk membuat gambar node-red kita sendiri, dengan paket-paket yang perlu kita instal.
Baris pertama Dockerfile hampir selalu merupakan perintah FROM. Dengan perintah ini kita mendefinisikan gambar dasar dari mana kita akan membangun gambar kita sendiri.
Setelah pernyataan FROM, kita mulai membangun citra kita. Ada banyak kemungkinan perintah yang dapat digunakan dalam Dockerfile tetapi di sini kita hanya akan menggunakan RUN.
Tautan referensi Dockerfile disediakan di bagian bacaan lebih lanjut.

Pernyataan RUN akan mengeksekusi perintah yang mengikuti di dalam wadah yang sedang kita bangun.
Jadi untuk menginstal paket baru, misalnya paket SNMP kita nyatakan:RUN npm install node-red-node-snmp

Setelah teori, mari kita buat Dockerfile. Mudah-mudahan, Anda masih dalam sesi SSH (pastikan Anda kembali menggunakan AXC F 2152 dan tidak dalam debian yang berisi dari dua bagian yang lalu!).
Anda dapat membuat Dockerfile dengan nano dan menyalin dan menempelkan konten ke dalam file baru. simpan (ctrl + s) dan keluar (ctrl + x).nano Dockerfile

FROM nodered/node-red:latest-minimal
RUN npm install node-red-node-snmp

Sekarang saatnya membangun citra baru kita!

balena-engine build . --tag myimage

Saat Anda menerima pesan bahwa gambar berhasil ditandai, Anda telah membuat gambar pertama Anda!
Untuk melihat gambar yang baru saja Anda buat gunakan perintah:balena-engine images

Menjalankan gambar baru kami

Akhirnya, kami siap menjalankan gambar kami dan membuat wadah darinya!
Keluarkan perintah berikut di shell untuk menjalankan container secara interaktif.
Interaktif artinya kita bisa melihat di terminal apa yang terjadi di dalam container.
Kebalikannya dilepas, ditandai dengan bendera -d

balena-engine run -it -p 1880:1880 --name nodered myimage

Untuk keluar dari wadah dan tetap menjalankannya gunakan ctrl + p ctrl +q
Saat Anda menelusuri alamat IP pengontrol diikuti oleh port 1880, lingkungan node merah ditampilkan dan kami melihat paket snmp diinstal!

Memulai image saat boot dan primer pada flag docker run

Tidak praktis untuk mem-boot container secara manual setiap kali AXC F 2152 di-restart. Untungnya kami dapat memberi tahu Docker untuk memulainya untuk kami, dan itu mudah!
Cukup gunakan perintah yang tercantum di bawah ini. Ini juga saatnya untuk mendapatkan pemahaman yang lebih baik tentang flag buruh pelabuhan yang digunakan. Sebagai permulaan, sebuah bendera adalah sesuatu yang kita berikan setelah perintah dan dimulai dengan – atau –.
Sampai sekarang kita hanya melihat -it, untuk menjalankan container secara interaktif dan -d untuk menjalankan container terlepas (di latar belakang).

Flag -p memetakan port container ke port host. Pertama portnumber host dinyatakan kemudian portnumber container.
Kita bisa memberi nama container dengan flag –name. Nama ini akan ditampilkan ketika Anda menggunakan balena-engine ps, untuk mendaftar semua container yang aktif atau balena-engine ps -a untuk mendaftar semua container.
Ketika tidak ada flag –name yang digunakan, balena-daemon akan memberikan nama acak ke container.

Dan yang tak kalah pentingnya, kebijakan restart dapat ditetapkan ke sebuah wadah dengan flag –restart.
Pengaturan yang memungkinkan dapat ditemukan di tautan referensi yang tercantum dalam bacaan lebih lanjut.
Untuk saat ini –restart selalu akan berhasil! Perintah kita adalah:

balena-engine run -it -p 1880:1880 --name nodered --restart always myimage

Mendorong ke hub Docker

Saat Anda tidak ingin menggunakan gambar Anda pada pengontrol yang berbeda. Sebaiknya unggah gambar Anda ke Docker Hub.
Dengan premis bahwa Anda sudah memiliki akun dan membuat repositori buruh pelabuhan, kami akan melanjutkan. Pertama kita harus masuk ke akun kita. Ini dapat dilakukan dengan mengetik login balena-engine diikuti dengan nama pengguna dan kata sandi Anda. Sekarang dimungkinkan untuk mengunduh gambar dari repositori pribadi dan mendorong gambar Anda ke hub Docker.

Untuk mendorong gambar Anda ke hub Docker, penting untuk mendapatkan nama yang benar. Ketika saya telah membuat repositori myrep dan akun pengguna saya adalah akun saya, nama gambar harus myaccount/myrep.
Ketika Anda tidak menamainya seperti itu saat membangun gambar, Anda harus memberi tag ulang pada gambar dengan menggunakan tag mesin balena oldimagetag newimagetag. Dalam kasus kami ini akan menjadi:

balena-engine tag myimage myaccount/myrep  

Ketika tidak ada lagi yang ditentukan, dapatkan label terbaru. Di label dimungkinkan untuk menambahkan :dan nama label. Misalnya:

balena-engine tag myimage myaccount/myrep:alabel 

Satu-satunya yang tersisa adalah mendorong gambar kita ke hub Docker dengan perintah:

balena-engine push myaccount/myrep

Bacaan dan referensi lebih lanjut


https://github.com/PLCnext/Docker_GettingStarted/blob/master/getting-started/Part-01/README.md

https://www.docker.com/resources/what-container

https://docs.docker.com/engine/reference/builder/

https://hub.docker.com/

https://hub.docker.com/r/nodered/node-red


Teknologi Industri

  1. Memulai pencetakan 3D keramik
  2. Berkenalan dengan Pewarna Dasar!
  3. Memahami Pewarna dan Pigmen Industri!
  4. Memulai TJBot
  5. Memulai RAK 831 Lora Gateway dan RPi3
  6. Memulai RAK831 LoRa Gateway dan RPi3
  7. Memimpin dengan Ketekunan dan Ketekunan
  8. Memulai Dengan AI Dalam Asuransi:Panduan Pengantar
  9. Tutorial Arduino 01:Memulai
  10. Memulai My.Cat.com