Pergi ke kandungan utama

Podman pada Linux

Dalam panduan ini, anda akan menyebarkan MyEMS dengan Podman pada sistem Linux.

Prasyarat

  • Podman dan npm telah dipasang pada hos.
  • Pelayan MySQL telah dipasang.
  • Pangkalan data MySQL boleh disambungkan dari hos di mana Enjin Podman berjalan.
Amaran
  • Disyorkan untuk menggunakan keistimewaan root untuk melaksanakan arahan podman.

  • Selepas memasang podman, gunakan arahan systemctl status podman-restart.service untuk menyemak sama ada kontena dikonfigurasi untuk permulaan automatik dan dasar. Jika Unit not found dipaparkan, ini bermakna kontena tidak dapat dimulakan secara automatik.

Langkah 1 Pangkalan Data

Rujuk Pangkalan Data

Langkah 2 myems-api

Dalam bahagian ini, anda akan memasang myems-api pada Podman.

  • Salin kod sumber ke direktori root
cp -r myems/myems-api /
cd /myems-api
  • Buat fail .env berdasarkan fail example.env
Amaran

Gantikan secara manual 127.0.0.1 dengan alamat IP HOST sebenar.

cp example.env .env
  • Bina Imej dari Kod Sumber
podman build -t myems/myems-api .

Untuk membina untuk pelbagai platform dan bukan sahaja untuk seni bina dan sistem operasi yang dijalankan oleh pengguna yang memanggil pembinaan, anda boleh menggunakan buildx dan menetapkan bendera --platform untuk menentukan platform sasaran untuk output pembinaan (contohnya, linux/amd64, linux/arm64, atau darwin/amd64).

podman buildx build --platform=linux/amd64 -t myems/myems-api .
  • Jalankan kontena Podman

Pada hos, buat folder fail muat naik perkongsian:

mkdir /myems-upload

Buat kontena, pasang semula folder perkongsian ke kontena, dan juga pasang semula .env ke kontena:

podman run -d -p 8000:8000 -v /myems-upload:/var/www/myems-admin/upload -v /myems-api/.env:/app/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-api myems/myems-api
  • -d Jalankan kontena di latar belakang dan cetak ID kontena

  • -p Terbitkan port(s) kontena ke hos, 8000:8000 (Hos:Kontena) mempasang port 8000 (kanan) kontena ke port TCP 8000 (kiri) mesin hos.

  • -v Jika anda menggunakan -v atau --volume untuk mempasang semula fail atau direktori yang belum wujud pada hos Podman, -v akan mencipta titik akhir untuk anda. Ia sentiasa dicipta sebagai direktori. Pilihan ro, jika wujud, menyebabkan pemasangan semula terikat dipasang ke dalam kontena sebagai hanya-baca. Untuk versi v4.7.0 atau lebih awal, gunakan '/code/.env' dan bukannya '/app/.env'.

  • --log-opt max-size=2m Saiz maksimum log sebelum ia digulung. Integer positif ditambah pengubah yang mewakili unit ukuran (k, m, atau g).

  • --log-opt max-file=2 Bilangan maksimum fail log yang boleh wujud. Jika menggulung log mencipta fail berlebihan, fail tertua akan dipadam. Integer positif.

  • --restart Dasar permulaan semula untuk digunakan apabila kontena keluar

  • --name Tetapkan nama kepada kontena

Jalur mutlak sebelum titik dua adalah untuk laluan pada hos dan ia mungkin berbeza pada sistem anda. Jalur mutlak selepas titik dua adalah untuk laluan pada kontena dan ia TIDAK BOLEH diubah. Dengan menghantar .env sebagai parameter pemasangan semula terikat, anda boleh menukar nilai konfigurasi kemudiannya. Jika anda menukar fail .env, mulakan semula kontena untuk membuat perubahan berkesan.

Jika anda mahu memindahkan imej ke komputer lain,

  • Export imej ke fail tarball
podman save --output myems-api.tar myems/myems-api
  • Salin fail tarball ke komputer lain, dan kemudian muat imej dari fail tarball
podman load --input .\myems-api.tar

Langkah 3 myems-admin

Dalam bahagian ini, anda akan memasang myems-admin pada Podman.

  • Salin kod sumber ke direktori root
cp -r myems/myems-admin /
cd /myems-admin
Amaran

Gantikan secara manual 127.0.0.1:8000 dalam nginx.conf dengan ip hos HOST sebenar dan port myems-api

nano nginx.conf
      proxy_pass http://127.0.0.1:8000/;
  • Bina Imej dari Kod Sumber
podman build -t myems/myems-admin .

Untuk membina untuk pelbagai platform dan bukan sahaja untuk seni bina dan sistem operasi yang dijalankan oleh pengguna yang memanggil pembinaan, anda boleh menggunakan buildx dan menetapkan bendera --platform untuk menentukan platform sasaran untuk output pembinaan (contohnya, linux/amd64, linux/arm64, atau darwin/amd64).

podman buildx build --platform=linux/amd64 -t myems/myems-admin .
  • Jalankan kontena Podman

Pada hos, buat folder fail muat naik perkongsian:

mkdir /myems-upload

Buat kontena, pasang semula folder fail muat naik perkongsian ke kontena dan juga pasang semula nginx.conf

podman run -d -p 8001:8001 -v /myems-upload:/var/www/myems-admin/upload -v /myems-admin/nginx.conf:/etc/nginx/nginx.conf:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-admin myems/myems-admin
  • -d Jalankan kontena di latar belakang dan cetak ID kontena

  • -p Terbitkan port(s) kontena ke hos, 8001:8001 (Hos:Kontena) mempasang port 8001 (kanan) kontena ke port TCP 8001 (kiri) mesin hos.

  • -v Jika anda menggunakan -v atau --volume untuk mempasang semula fail atau direktori yang belum wujud pada hos Podman, -v akan mencipta titik akhir untuk anda. Ia sentiasa dicipta sebagai direktori. Pilihan ro, jika wujud, menyebabkan pemasangan semula terikat dipasang ke dalam kontena sebagai hanya-baca. Untuk versi v4.7.0 atau lebih awal, gunakan '/code/.env' dan bukannya '/app/.env'.

  • --log-opt max-size=2m Saiz maksimum log sebelum ia digulung. Integer positif ditambah pengubah yang mewakili unit ukuran (k, m, atau g).

  • --log-opt max-file=2 Bilangan maksimum fail log yang boleh wujud. Jika menggulung log mencipta fail berlebihan, fail tertua akan dipadam. Integer positif.

  • --restart Dasar permulaan semula untuk digunakan apabila kontena keluar

  • --name Tetapkan nama kepada kontena

Jika anda mahu memindahkan imej ke komputer lain,

  • Export imej ke fail tarball
podman save --output myems-admin.tar myems/myems-admin
  • Salin fail tarball ke komputer lain, dan kemudian muat imej dari fail tarball
podman load --input .\myems-admin.tar

Langkah 4 myems-modbus-tcp

Dalam bahagian ini, anda akan memasang myems-modbus-tcp pada Podman.

  • Salin kod sumber ke direktori root
cp -r myems/myems-modbus-tcp /
cd /myems-modbus-tcp
  • Buat fail .env berdasarkan fail example.env
Amaran

Gantikan secara manual 127.0.0.1 dengan alamat IP HOST sebenar.

cp example.env .env
  • Bina Imej dari Kod Sumber
podman build -t myems/myems-modbus-tcp .

Untuk membina untuk pelbagai platform dan bukan sahaja untuk seni bina dan sistem operasi yang dijalankan oleh pengguna yang memanggil pembinaan, anda boleh menggunakan buildx dan menetapkan bendera --platform untuk menentukan platform sasaran untuk output pembinaan (contohnya, linux/amd64, linux/arm64, atau darwin/amd64).

podman buildx build --platform=linux/amd64 -t myems/myems-modbus-tcp .
  • Jalankan kontena Podman (jalankan sebagai superuser)
podman run -d -v /myems-modbus-tcp/.env:/app/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-modbus-tcp myems/myems-modbus-tcp
  • -d Jalankan kontena di latar belakang dan cetak ID kontena

  • -v Jika anda menggunakan -v atau --volume untuk mempasang semula fail atau direktori yang belum wujud pada hos Podman, -v akan mencipta titik akhir untuk anda. Ia sentiasa dicipta sebagai direktori. Pilihan ro, jika wujud, menyebabkan pemasangan semula terikat dipasang ke dalam kontena sebagai hanya-baca. Untuk versi v4.7.0 atau lebih awal, gunakan '/code/.env' dan bukannya '/app/.env'.

  • --log-opt max-size=2m Saiz maksimum log sebelum ia digulung. Integer positif ditambah pengubah yang mewakili unit ukuran (k, m, atau g).

  • --log-opt max-file=2 Bilangan maksimum fail log yang boleh wujud. Jika menggulung log mencipta fail berlebihan, fail tertua akan dipadam. Integer positif.

  • --restart Dasar permulaan semula untuk digunakan apabila kontena keluar

  • --name Tetapkan nama kepada kontena

Jalur mutlak sebelum titik dua adalah untuk laluan pada hos dan ia mungkin berbeza pada sistem anda. Jalur mutlak selepas titik dua adalah untuk laluan pada kontena dan ia TIDAK BOLEH diubah. Dengan menghantar .env sebagai parameter pemasangan semula terikat, anda boleh menukar nilai konfigurasi kemudiannya. Jika anda menukar fail .env, mulakan semula kontena untuk membuat perubahan berkesan.

  • Memindahkan kontena Podman

Untuk memindahkan kontena ke komputer lain,

  • Export imej ke fail tarball
podman save --output myems-modbus-tcp.tar myems/myems-modbus-tcp
  • Salin fail tarball ke komputer lain, dan kemudian muat imej dari fail tarball
podman load --input .\myems-modbus-tcp.tar

Langkah 5 myems-cleaning

Dalam bahagian ini, anda akan memasang myems-cleaning pada Podman.

  • Salin kod sumber ke direktori root
cp -r myems/myems-cleaning /
cd /myems-cleaning
  • Buat fail .env berdasarkan fail example.env
Amaran

Gantikan secara manual 127.0.0.1 dengan alamat IP HOST sebenar.

cp example.env .env
  • Bina Imej dari Kod Sumber
podman build -t myems/myems-cleaning .

Untuk membina untuk pelbagai platform dan bukan sahaja untuk seni bina dan sistem operasi yang dijalankan oleh pengguna yang memanggil pembinaan, anda boleh menggunakan buildx dan menetapkan bendera --platform untuk menentukan platform sasaran untuk output pembinaan (contohnya, linux/amd64, linux/arm64, atau darwin/amd64).

podman buildx build --platform=linux/amd64 -t myems/myems-cleaning .
  • Jalankan kontena Podman (jalankan sebagai superuser)
podman run -d -v /myems-cleaning/.env:/app/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-cleaning myems/myems-cleaning
  • -d Jalankan kontena di latar belakang dan cetak ID kontena

  • -v Jika anda menggunakan -v atau --volume untuk mempasang semula fail atau direktori yang belum wujud pada hos Podman, -v akan mencipta titik akhir untuk anda. Ia sentiasa dicipta sebagai direktori. Pilihan ro, jika wujud, menyebabkan pemasangan semula terikat dipasang ke dalam kontena sebagai hanya-baca. Untuk versi v4.7.0 atau lebih awal, gunakan '/code/.env' dan bukannya '/app/.env'.

  • --log-opt max-size=2m Saiz maksimum log sebelum ia digulung. Integer positif ditambah pengubah yang mewakili unit ukuran (k, m, atau g).

  • --log-opt max-file=2 Bilangan maksimum fail log yang boleh wujud. Jika menggulung log mencipta fail berlebihan, fail tertua akan dipadam. Integer positif.

  • --restart Dasar permulaan semula untuk digunakan apabila kontena keluar

  • --name Tetapkan nama kepada kontena

Jalur mutlak sebelum titik dua adalah untuk laluan pada hos dan ia mungkin berbeza pada sistem anda. Jalur mutlak selepas titik dua adalah untuk laluan pada kontena dan ia TIDAK BOLEH diubah. Dengan menghantar .env sebagai parameter pemasangan semula terikat, anda boleh menukar nilai konfigurasi kemudiannya. Jika anda menukar fail .env, mulakan semula kontena untuk membuat perubahan berkesan.

  • Memindahkan kontena Podman

Untuk memindahkan kontena ke komputer lain,

  • Export imej ke fail tarball
podman save --output myems-cleaning.tar myems/myems-cleaning
  • Salin fail tarball ke komputer lain, dan kemudian muat imej dari fail tarball
podman load --input .\myems-cleaning.tar

Langkah 6 myems-normalization

Dalam bahagian ini, anda akan memasang myems-normalization pada Podman.

  • Salin kod sumber ke direktori root
cp -r myems/myems-normalization /
cd /myems-normalization
  • Buat fail .env berdasarkan fail example.env
Amaran

Gantikan secara manual 127.0.0.1 dengan alamat IP HOST sebenar.

cp example.env .env
  • Bina Imej dari Kod Sumber
podman build -t myems/myems-normalization .

Untuk membina untuk pelbagai platform dan bukan sahaja untuk seni bina dan sistem operasi yang dijalankan oleh pengguna yang memanggil pembinaan, anda boleh menggunakan buildx dan menetapkan bendera --platform untuk menentukan platform sasaran untuk output pembinaan (contohnya, linux/amd64, linux/arm64, atau darwin/amd64).

podman buildx build --platform=linux/amd64 -t myems/myems-normalization .
  • Jalankan kontena Podman (jalankan sebagai superuser)
podman run -d -v /myems-normalization/.env:/app/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-normalization myems/myems-normalization
  • -d Jalankan kontena di latar belakang dan cetak ID kontena

  • -v Jika anda menggunakan -v atau --volume untuk mempasang semula fail atau direktori yang belum wujud pada hos Podman, -v akan mencipta titik akhir untuk anda. Ia sentiasa dicipta sebagai direktori. Pilihan ro, jika wujud, menyebabkan pemasangan semula terikat dipasang ke dalam kontena sebagai hanya-baca. Untuk versi v4.7.0 atau lebih awal, gunakan '/code/.env' dan bukannya '/app/.env'.

  • --log-opt max-size=2m Saiz maksimum log sebelum ia digulung. Integer positif ditambah pengubah yang mewakili unit ukuran (k, m, atau g).

  • --log-opt max-file=2 Bilangan maksimum fail log yang boleh wujud. Jika menggulung log mencipta fail berlebihan, fail tertua akan dipadam. Integer positif.

  • --restart Dasar permulaan semula untuk digunakan apabila kontena keluar

  • --name Tetapkan nama kepada kontena

Jalur mutlak sebelum titik dua adalah untuk laluan pada hos dan ia mungkin berbeza pada sistem anda. Jalur mutlak selepas titik dua adalah untuk laluan pada kontena dan ia TIDAK BOLEH diubah. Dengan menghantar .env sebagai parameter pemasangan semula terikat, anda boleh menukar nilai konfigurasi kemudiannya. Jika anda menukar fail .env, mulakan semula kontena untuk membuat perubahan berkesan.

  • Memindahkan kontena Podman

Untuk memindahkan kontena ke komputer lain,

  • Export imej ke fail tarball
podman save --output myems-normalization.tar myems/myems-normalization
  • Salin fail tarball ke komputer lain, dan kemudian muat imej dari fail tarball
podman load --input .\myems-normalization.tar

Langkah 7 myems-aggregation

Dalam bahagian ini, anda akan memasang myems-aggregation pada Podman.

  • Salin kod sumber ke direktori root
cp -r myems/myems-aggregation /
cd /myems-aggregation
  • Buat fail .env berdasarkan fail example.env
cp example.env .env
Amaran

Gantikan secara manual 127.0.0.1 dengan alamat IP HOST sebenar.

  • Bina Imej dari Kod Sumber
podman build -t myems/myems-aggregation .

Untuk membina untuk pelbagai platform dan bukan sahaja untuk seni bina dan sistem operasi yang dijalankan oleh pengguna yang memanggil pembinaan, anda boleh menggunakan buildx dan menetapkan bendera --platform untuk menentukan platform sasaran untuk output pembinaan (contohnya, linux/amd64, linux/arm64, atau darwin/amd64).

podman buildx build --platform=linux/amd64 -t myems/myems-aggregation .
  • Jalankan kontena Podman (jalankan sebagai superuser)
podman run -d -v /myems-aggregation/.env:/app/.env:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-aggregation myems/myems-aggregation
  • -d Jalankan kontena di latar belakang dan cetak ID kontena

  • -v Jika anda menggunakan -v atau --volume untuk mempasang semula fail atau direktori yang belum wujud pada hos Podman, -v akan mencipta titik akhir untuk anda. Ia sentiasa dicipta sebagai direktori. Pilihan ro, jika wujud, menyebabkan pemasangan semula terikat dipasang ke dalam kontena sebagai hanya-baca. Untuk versi v4.7.0 atau lebih awal, gunakan '/code/.env' dan bukannya '/app/.env'.

  • --log-opt max-size=2m Saiz maksimum log sebelum ia digulung. Integer positif ditambah pengubah yang mewakili unit ukuran (k, m, atau g).

  • --log-opt max-file=2 Bilangan maksimum fail log yang boleh wujud. Jika menggulung log mencipta fail berlebihan, fail tertua akan dipadam. Integer positif.

  • --restart Dasar permulaan semula untuk digunakan apabila kontena keluar

  • --name Tetapkan nama kepada kontena

Jalur mutlak sebelum titik dua adalah untuk laluan pada hos dan ia mungkin berbeza pada sistem anda. Jalur mutlak selepas titik dua adalah untuk laluan pada kontena dan ia TIDAK BOLEH diubah. Dengan menghantar .env sebagai parameter pemasangan semula terikat, anda boleh menukar nilai konfigurasi kemudiannya. Jika anda menukar fail .env, mulakan semula kontena untuk membuat perubahan berkesan.

  • Memindahkan kontena Podman

  • Export imej ke fail tarball

podman save --output myems-aggregation.tar myems/myems-aggregation
  • Salin fail tarball ke komputer lain, dan kemudian muat imej dari fail tarball
podman load --input .\myems-aggregation.tar

Langkah 8 myems-web

Dalam bahagian ini, anda akan memasang myems-web pada Podman.

  • Ubah suai fail config.js:
Nota

Dapatkan mapboxToken di https://mapbox.com dan kemudian tetapkan showOnlineMap ke true. Jika anda mahu mematikan ciri peta dalam talian, tetapkan showOnlineMap ke false

cd myems/myems-web
nano src/config.js
Amaran

Gantikan 127.0.0.1:8000 dalam nginx.conf dengan ip hos HOST sebenar dan port myems-api

cd myems/myems-web
nano nginx.conf
  • Salin kod sumber ke direktori root
cp -r myems/myems-web /
cd /myems-web
Info

Anda boleh selamat mengabaikan arahan 'npm run build' dalam bahagian ini, kerana ia dibina ke dalam Podmanfile

  • Bina Imej dari Kod Sumber
podman build -t myems/myems-web .

Untuk membina untuk pelbagai platform dan bukan sahaja untuk seni bina dan sistem operasi yang dijalankan oleh pengguna yang memanggil pembinaan, anda boleh menggunakan buildx dan menetapkan bendera --platform untuk menentukan platform sasaran untuk output pembinaan (contohnya, linux/amd64, linux/arm64, atau darwin/amd64).

podman buildx build --platform=linux/amd64 -t myems/myems-web .
  • Jalankan kontena Podman

Pada hos, pasang semula nginx.conf

podman run -d -p 80:80 -v /myems-web/nginx.conf:/etc/nginx/nginx.conf:ro --log-opt max-size=1m --log-opt max-file=2 --restart always --name myems-web myems/myems-web
  • -d Jalankan kontena di latar belakang dan cetak ID kontena

  • -p Terbitkan port(s) kontena ke hos, 80:80 (Hos:Kontena) mempasang port 80 (kanan) kontena ke port TCP 80 (kiri) mesin hos.

  • -v Jika anda menggunakan -v atau --volume untuk mempasang semula fail atau direktori yang belum wujud pada hos Podman, -v akan mencipta titik akhir untuk anda. Ia sentiasa dicipta sebagai direktori. Pilihan ro, jika wujud, menyebabkan pemasangan semula terikat dipasang ke dalam kontena sebagai hanya-baca. Untuk versi v4.7.0 atau lebih awal, gunakan '/code/.env' dan bukannya '/app/.env'.

  • --log-opt max-size=2m Saiz maksimum log sebelum ia digulung. Integer positif ditambah pengubah yang mewakili unit ukuran (k, m, atau g).

  • --log-opt max-file=2 Bilangan maksimum fail log yang boleh wujud. Jika menggulung log mencipta fail berlebihan, fail tertua akan dipadam. Integer positif.

  • --restart Dasar permulaan semula untuk digunakan apabila kontena keluar

  • --name Tetapkan nama kepada kontena

Jika anda mahu memindahkan imej ke komputer lain,

  • Export imej ke fail tarball
podman save --output myems-web.tar myems/myems-web
  • Salin fail tarball ke komputer lain, dan kemudian muat imej dari fail tarball
podman load --input .\myems-web.tar

Selepas Pemasangan

Tahniah! Anda kini boleh log masuk ke UI Admin MyEMS dan UI Web MyEMS.

Port Lalai

MyEMS Web UI: 80

MyEMS API: 8000

MyEMS Admin UI: 8001

Dengan menganggap alamat pelayan adalah 192.168.1.8 (gantikan dengan alamat pelayan sebenar) Akses MyEMS Web UI di http://192.168.1.8 (80 boleh dihilangkan) Akses MyEMS Admin UI di http://192.168.1.8:8001

Kata Laluan Lalai

MyEMS Admin UI

Nama Pengguna:

administrator

Kata Laluan:

!MyEMS1

MyEMS Web UI

Nama Pengguna:

administrator@myems.io

Kata Laluan:

!MyEMS1

Penyelesaian Masalah