Pergi ke kandungan utama

Docker Compose

Dalam panduan ini, anda akan menyebarkan MyEMS dengan Docker Compose dengan membuat dan memulakan semua perkhidmatan dengan satu arahan.

Keperluan Awal

  • Docker, docker-compose, npm dipasang pada hos.
  • Pelayan MySQL dipasang dengan nama pengguna 'root' dan kata laluan '!MyEMS1'.
  • Pangkalan data MySQL boleh disambungkan dari hos di mana Docker Engine berjalan.

Konfigurasi

Petua

Hos merujuk kepada pelayan di mana enjin docker berjalan. IP dan kata laluan akaun diandaikan dan digunakan untuk menunjukkan arahan. Sila ubah suai mengikut kesesuaian.

----
IP Hos192.168.0.1
IP Pangkalan Data192.168.0.2
Pengguna Pangkalan Dataroot
Kata Laluan Pangkalan Data!MyEMS1

Pemasangan

  1. Klon repositori
git clone https://github.com/myems/myems.git
  1. Import skema pangkalan data
cd myems/database/install
mysql -u root -p < myems_billing_db.sql
mysql -u root -p < myems_carbon_db.sql
mysql -u root -p < myems_energy_baseline_db.sql
mysql -u root -p < myems_energy_db.sql
mysql -u root -p < myems_energy_model_db.sql
mysql -u root -p < myems_energy_plan_db.sql
mysql -u root -p < myems_energy_prediction_db.sql
mysql -u root -p < myems_fdd_db.sql
mysql -u root -p < myems_historical_db.sql
mysql -u root -p < myems_production_db.sql
mysql -u root -p < myems_reporting_db.sql
mysql -u root -p < myems_system_db.sql
mysql -u root -p < myems_user_db.sql

Nota: Rujuk pangkalan data

  1. Ubah Suai Konfigurasi
Petua

Andaikan IP hos adalah 192.168.0.1, IP pangkalan data adalah 192.168.0.2, akaun pangkalan data ialah: root, dan kata laluan pangkalan data ialah: !MyEMS1, sila ubah suai mengikut kesesuaian

3.1 Ubah alamat API dalam nginx.conf

cd myems
nano myems-admin/nginx.conf
nano myems-web/nginx.conf

3.2 Salin example.env ke .env dalam setiap folder dan ubah suai IP pangkalan data, nama pengguna dan kata laluan dalam .env

cd myems
cp myems-aggregation/example.env myems-aggregation/.env
nano myems-aggregation/.env
cp myems-api/example.env myems-api/.env
nano myems-api/.env
cp myems-cleaning/example.env myems-cleaning/.env
nano myems-cleaning/.env
cp myems-modbus-tcp/example.env myems-modbus-tcp/.env
nano myems-modbus-tcp/.env
cp myems-normalization/example.env myems-normalization/.env
nano myems-normalization/.env

3.3 Ubah suai folder upload dalam docker-compose.yml Jika Hos Windows, gunakan c:\upload untuk volumes/source dalam perkhidmatan api dan admin. Jika Hos Linux, gunakan /upload untuk volumes/source dalam perkhidmatan api dan admin. Pastikan folder upload dalam api dan admin adalah folder yang sama pada hos.

  1. Bina UI Web

Ubah suai fail konfigurasi:

Nota

Dapatkan mapboxToken dari https://mapbox.com dan kemudian tetapkan showOnlineMap kepada true. Jika anda ingin mematikan ciri peta dalam talian, tetapkan showOnlineMap kepada false

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

Bina:

cd myems/myems-web
npm i --unsafe-perm=true --allow-root --legacy-peer-deps
npm run build
  1. Jalankan arahan docker-compose

Pada Hos Windows:

cd myems
docker-compose -f docker-compose-on-windows.yml up -d

Pada Hos Linux:

cd myems
docker-compose -f docker-compose-on-linux.yml up -d
  1. Pengesahan
AlamatHasil Dijangka
myems-web192.168.0.1:80Log masuk berjaya dengan memasukkan akaun dan kata laluan
myems-admin192.168.0.1:8001Log masuk berjaya dengan memasukkan akaun dan kata laluan
myems-api192.168.0.1:8000/versionKembalikan maklumat versi
Info

Jika API melaporkan ralat, sila sahkan sama ada IP pangkalan data, akaun pangkalan data dan kata laluan pangkalan data dalam .env adalah betul. Jika tidak, sila ubah suai kemudian jalankan:

docker-compose up --build -d
Cara menyelesaikan isu masa tarik imej tamat

Disebabkan isu rangkaian ISP, anda mungkin mengalami tarikan imej yang perlahan. Anda boleh menggunakan perkhidmatan pecutan pihak ketiga.