برو به محتوای اصلی

Docker روی لینوکس/مک‌اِس (macOS)

در این راهنما، یاد خواهید گرفت که چگونه MyEMS را با استفاده از Docker روی سیستم عامل لینوکس (یا مک‌اِس) مستقر کنید.

پیش‌نیازها

  • Docker و npm بر روی میزبان (host) نصب شده باشند.
  • سرور MySQL نصب شده باشد.
  • پایگاه داده MySQL قابل اتصال از میزبانی که موتور Docker روی آن اجرا می‌شود، باشد.
  • الزامات سخت‌افزاری: حداقل 4 گیگابایت رم، 20 گیگابایت فضای ذخیره‌سازی (برای پایگاه داده و کانتینرهای Docker).

کلون کردن کد منبع:

cd ~
git clone https://github.com/myems/myems

گام 1: پایگاه داده

مراحل نصب پایگاه داده را از بخش Database مرور کنید.

گام 2: myems-api

در این بخش، myems-api را روی Docker نصب خواهید کرد.

  • کپی کردن کد منبع به دایرکتوری ریشه
cp -r myems/myems-api /
cd /myems-api
  • ایجاد فایل .env بر اساس فایل example.env
احتیاط

آدرس IP 127.0.0.1 را به صورت دستی با آدرس IP واقعی میزبان (HOST) جایگزین کنید.

cp example.env .env
  • ساخت تصویر (Image) از کد منبع
docker build -t myems/myems-api .

برای ساخت تصویر برای چندین پلتفرم (نه فقط معماری و سیستم عاملی که کاربر در آن دستور build را اجرا می‌کند)، می‌توانید از buildx استفاده کرده و پرچم --platform را برای مشخص کردن پلتفرم مقصد خروجی build تنظیم کنید (مثال: linux/amd64، linux/arm64 یا darwin/amd64):

docker buildx build --platform=linux/amd64 -t myems/myems-api .
  • اجرای یک کانتینر Docker

بر روی میزبان، پوشه اشتراکی فایل upload ایجاد کنید:

mkdir /myems-upload

کانتینر را ایجاد کنید، پوشه اشتراکی را به کانتینر متصل (bind-mount) کنید و همچنین فایل .env را به کانتینر متصل کنید:

docker 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: اجرای کانتینر در پس‌زمینه و چاپ شناسه (ID) کانتینر
  • -p: انتشار پورت(های) کانتینر به میزبان، 8000:8000 (Host:Container) پورت 8000 (سمت راست) کانتینر را به پورت TCP 8000 (سمت چپ) دستگاه میزبان متصل می‌کند.
  • -v: اگر از -v یا --volume برای bind-mount یک فایل یا دایرکتوری که هنوز در میزبان Docker وجود ندارد استفاده کنید، -v آن نقطه پایانی (endpoint) را برای شما ایجاد می‌کند. این 항항 به صورت دایرکتوری ایجاد می‌شود. گزینه ro (در صورت وجود) باعث می‌شود bind mount به صورت فقط خواندنی (read-only) در کانتینر متصل شود. برای نسخه‌های 4.7.0 یا قدیمی‌تر، از '/code/.env' به جای '/app/.env' استفاده کنید.
  • --log-opt max-size=2m: حداکثر اندازه لاگ قبل از رول کردن (rollen) آن. یک عدد صحیح مثبت به همراه یک مодиفایر که واحد اندازه را نشان می‌دهد (k، m یا g).
  • --log-opt max-file=2: حداکثر تعداد فایل‌های لاگ که می‌توانند موجود باشند. اگر رول کردن لاگ‌ها باعث ایجاد فایل‌های اضافی شود، قدیمی‌ترین فایل حذف می‌شود. یک عدد صحیح مثبت.
  • --restart: سیاست راه‌اندازی مجدد (restart) که باید هنگام خروج کانتینر اعمال شود.
  • --name: اختصاص یک نام به کانتینر.

مسیر مطلق قبل از دو نقطه برای مسیر روی میزبان است و ممکن است در سیستم شما متفاوت باشد. مسیر مطلق بعد از دو نقطه برای مسیر روی کانتینر است و نمی‌تواند تغییر کند. با پاس دادن فایل .env به عنوان پارامتر bind-mount، می‌توانید بعداً مقادیر پیکربندی را تغییر دهید. اگر فایل .env را تغییر دادید، کانتینر را راه‌اندازی مجدد کنید تا تغییرات اعمال شوند.

اگر می‌خواهید تصویر را به کامپیوتر دیگری انتقال دهید:

  • صادر کردن (Export) تصویر به فایل tar
docker save --output myems-api.tar myems/myems-api
  • کپی کردن فایل tar به کامپیوتر دیگری و سپس بارگذاری (load) تصویر از فایل tar
docker load --input .\myems-api.tar

گام 3: myems-admin

در این بخش، myems-admin را روی Docker نصب خواهید کرد.

  • کپی کردن کد منبع به دایرکتوری ریشه
cp -r myems/myems-admin /
cd /myems-admin
احتیاط

آدرس 127.0.0.1:8000 در فایل nginx.conf را به صورت دستی با آدرس IP واقعی میزبان (HOST) و پورت myems-api جایگزین کنید.

nano nginx.conf
      proxy_pass http://127.0.0.1:8000/;
  • ساخت تصویر (Image) از کد منبع
docker build -t myems/myems-admin .

برای ساخت تصویر برای چندین پلتفرم (نه فقط معماری و سیستم عاملی که کاربر در آن دستور build را اجرا می‌کند)، می‌توانید از buildx استفاده کرده و پرچم --platform را برای مشخص کردن پلتفرم مقصد خروجی build تنظیم کنید (مثال: linux/amd64، linux/arm64 یا darwin/amd64):

docker buildx build --platform=linux/amd64 -t myems/myems-admin .
  • اجرای یک کانتینر Docker

بر روی میزبان، پوشه اشتراکی فایل upload ایجاد کنید:

mkdir /myems-upload

کانتینر را ایجاد کنید، پوشه اشتراکی فایل upload را به کانتینر متصل (bind-mount) کنید و همچنین فایل nginx.conf را متصل کنید:

docker 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: اجرای کانتینر در پس‌زمینه و چاپ شناسه (ID) کانتینر
  • -p: انتشار پورت(های) کانتینر به میزبان، 8001:8001 (Host:Container) پورت 8001 (سمت راست) کانتینر را به پورت TCP 8001 (سمت چپ) دستگاه میزبان متصل می‌کند.
  • -v: اگر از -v یا --volume برای bind-mount یک فایل یا دایرکتوری که هنوز در میزبان Docker وجود ندارد استفاده کنید، -v آن نقطه پایانی (endpoint) را برای شما ایجاد می‌کند. این 항항 به صورت دایرکتوری ایجاد می‌شود. گزینه ro (در صورت وجود) باعث می‌شود bind mount به صورت فقط خواندنی (read-only) در کانتینر متصل شود. برای نسخه‌های 4.7.0 یا قدیمی‌تر، از '/code/.env' به جای '/app/.env' استفاده کنید.
  • --log-opt max-size=2m: حداکثر اندازه لاگ قبل از رول کردن (rollen) آن. یک عدد صحیح مثبت به همراه یک مодиفایر که واحد اندازه را نشان می‌دهد (k، m یا g).
  • --log-opt max-file=2: حداکثر تعداد فایل‌های لاگ که می‌توانند موجود باشند. اگر رول کردن لاگ‌ها باعث ایجاد فایل‌های اضافی شود، قدیمی‌ترین فایل حذف می‌شود. یک عدد صحیح مثبت.
  • --restart: سیاست راه‌اندازی مجدد (restart) که باید هنگام خروج کانتینر اعمال شود.
  • --name: اختصاص یک نام به کانتینر.

اگر می‌خواهید تصویر را به کامپیوتر دیگری انتقال دهید:

  • صادر کردن (Export) تصویر به فایل tar
docker save --output myems-admin.tar myems/myems-admin
  • کپی کردن فایل tar به کامپیوتر دیگری و سپس بارگذاری (load) تصویر از فایل tar
docker load --input .\myems-admin.tar

گام 4: myems-modbus-tcp

در این بخش، myems-modbus-tcp را روی Docker نصب خواهید کرد.

  • کپی کردن کد منبع به دایرکتوری ریشه
cp -r myems/myems-modbus-tcp /
cd /myems-modbus-tcp
  • ایجاد فایل .env بر اساس فایل example.env
احتیاط

آدرس IP 127.0.0.1 را به صورت دستی با آدرس IP واقعی میزبان (HOST) جایگزین کنید.

cp example.env .env
  • ساخت تصویر (Image) از کد منبع
docker build -t myems/myems-modbus-tcp .

برای ساخت تصویر برای چندین پلتفرم (نه فقط معماری و سیستم عاملی که کاربر در آن دستور build را اجرا می‌کند)، می‌توانید از buildx استفاده کرده و پرچم --platform را برای مشخص کردن پلتفرم مقصد خروجی build تنظیم کنید (مثال: linux/amd64، linux/arm64 یا darwin/amd64):

docker buildx build --platform=linux/amd64 -t myems/myems-modbus-tcp .
  • اجرای یک کانتینر Docker (به عنوان سوپر یوزر اجرا کنید)
docker 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: اجرای کانتینر در پس‌زمینه و چاپ شناسه (ID) کانتینر
  • -v: اگر از -v یا --volume برای bind-mount یک فایل یا دایرکتوری که هنوز در میزبان Docker وجود ندارد استفاده کنید, -v آن نقطه پایانی (endpoint) را برای شما ایجاد می‌کند. این 항항 به صورت دایرکتوری ایجاد می‌شود. گزینه ro (در صورت وجود) باعث می‌شود bind mount به صورت فقط خواندنی (read-only) در کانتینر متصل شود. برای نسخه‌های 4.7.0 یا قدیمی‌تر، از '/code/.env' به جای '/app/.env' استفاده کنید.
  • --log-opt max-size=2m: حداکثر اندازه لاگ قبل از رول کردن (rollen) آن. یک عدد صحیح مثبت به همراه یک مодиفایر که واحد اندازه را نشان می‌دهد (k، m یا g).
  • --log-opt max-file=2: حداکثر تعداد فایل‌های لاگ که می‌توانند موجود باشند. اگر رول کردن لاگ‌ها باعث ایجاد فایل‌های اضافی شود، قدیمی‌ترین فایل حذف می‌شود. یک عدد صحیح مثبت.
  • --restart: سیاست راه‌اندازی مجدد (restart) که باید هنگام خروج کانتینر اعمال شود.
  • --name: اختصاص یک نام به کانتینر.

مسیر مطلق قبل از دو نقطه برای مسیر روی میزبان است و ممکن است در سیستم شما متفاوت باشد. مسیر مطلق بعد از دو نقطه برای مسیر روی کانتینر است و نمی‌تواند تغییر کند. با پاس دادن فایل .env به عنوان پارامتر bind-mount، می‌توانید بعداً مقادیر پیکربندی را تغییر دهید. اگر فایل .env را تغییر دادید، کانتینر را راه‌اندازی مجدد کنید تا تغییرات اعمال شوند.

  • انتقال (Immigrate) کانتینر Docker

برای انتقال کانتینر به کامپیوتر دیگری:

  • صادر کردن (Export) تصویر به فایل tar
docker save --output myems-modbus-tcp.tar myems/myems-modbus-tcp
  • کپی کردن فایل tar به کامپیوتر دیگری و سپس بارگذاری (load) تصویر از فایل tar
docker load --input .\myems-modbus-tcp.tar

گام 5: myems-cleaning

در این بخش، myems-cleaning را روی Docker نصب خواهید کرد.

  • کپی کردن کد منبع به دایرکتوری ریشه
cp -r myems/myems-cleaning /
cd /myems-cleaning
  • ایجاد فایل .env بر اساس فایل example.env
احتیاط

آدرس IP 127.0.0.1 را به صورت دستی با آدرس IP واقعی میزبان (HOST) جایگزین کنید.

cp example.env .env
  • ساخت تصویر (Image) از کد منبع
docker build -t myems/myems-cleaning .

برای ساخت تصویر برای چندین پلتفرم (نه فقط معماری و سیستم عاملی که کاربر در آن دستور build را اجرا می‌کند)، می‌توانید از buildx استفاده کرده و پرچم --platform را برای مشخص کردن پلتفرم مقصد خروجی build تنظیم کنید (مثال: linux/amd64، linux/arm64 یا darwin/amd64):

docker buildx build --platform=linux/amd64 -t myems/myems-cleaning .
  • اجرای یک کانتینر Docker (به عنوان سوپر یوزر اجرا کنید)
docker 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: اجرای کانتینر در پس‌زمینه و چاپ شناسه (ID) کانتینر
  • -v: اگر از -v یا --volume برای bind-mount یک فایل یا دایرکتوری که هنوز در میزبان Docker وجود ندارد استفاده کنید، -v آن نقطه پایانی (endpoint) را برای شما ایجاد می‌کند. این 항항 به صورت دایرکتوری ایجاد می‌شود. گزینه ro (در صورت وجود) باعث می‌شود bind mount به صورت فقط خواندنی (read-only) در کانتینر متصل شود. برای نسخه‌های 4.7.0 یا قدیمی‌تر، از '/code/.env' به جای '/app/.env' استفاده کنید.
  • --log-opt max-size=2m: حداکثر اندازه لاگ قبل از رول کردن (rollen) آن. یک عدد صحیح مثبت به همراه یک مодиفایر که واحد اندازه را نشان می‌دهد (k، m یا g).
  • --log-opt max-file=2: حداکثر تعداد فایل‌های لاگ که می‌توانند موجود باشند. اگر رول کردن لاگ‌ها باعث ایجاد فایل‌های اضافی شود، قدیمی‌ترین فایل حذف می‌شود. یک عدد صحیح مثبت.
  • --restart: سیاست راه‌اندازی مجدد (restart) که باید هنگام خروج کانتینر اعمال شود.
  • --name: اختصاص یک نام به کانتینر.

مسیر مطلق قبل از دو نقطه برای مسیر روی میزبان است و ممکن است در سیستم شما متفاوت باشد. مسیر مطلق بعد از دو نقطه برای مسیر روی کانتینر است و نمی‌تواند تغییر کند. با پاس دادن فایل .env به عنوان پارامتر bind-mount، می‌توانید بعداً مقادیر پیکربندی را تغییر دهید. اگر فایل .env را تغییر دادید، کانتینر را راه‌اندازی مجدد کنید تا تغییرات اعمال شوند.

  • انتقال (Immigrate) کانتینر Docker

برای انتقال کانتینر به کامپیوتر دیگری:

  • صادر کردن (Export) تصویر به فایل tar
docker save --output myems-cleaning.tar myems/myems-cleaning
  • کپی کردن فایل tar به کامپیوتر دیگری و سپس بارگذاری (load) تصویر از فایل tar
docker load --input .\myems-cleaning.tar

گام 6: myems-normalization

در این بخش، myems-normalization را روی Docker نصب خواهید کرد.

  • کپی کردن کد منبع به دایرکتوری ریشه
cp -r myems/myems-normalization /
cd /myems-normalization
  • ایجاد فایل .env بر اساس فایل example.env
احتیاط

آدرس IP 127.0.0.1 را به صورت دستی با آدرس IP واقعی میزبان (HOST) جایگزین کنید.

cp example.env .env
  • ساخت تصویر (Image) از کد منبع
docker build -t myems/myems-normalization .

برای ساخت تصویر برای چندین پلتفرم (نه فقط معماری و سیستم عاملی که کاربر در آن دستور build را اجرا می‌کند)، می‌توانید از buildx استفاده کرده و پرچم --platform را برای مشخص کردن پلتفرم مقصد خروجی build تنظیم کنید (مثال: linux/amd64، linux/arm64 یا darwin/amd64):

docker buildx build --platform=linux/amd64 -t myems/myems-normalization .
  • اجرای یک کانتینر Docker (به عنوان سوپر یوزر اجرا کنید)
docker 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: اجرای کانتینر در پس‌زمینه و چاپ شناسه (ID) کانتینر
  • -v: اگر از -v یا --volume برای bind-mount یک فایل یا دایرکتوری که هنوز در میزبان Docker وجود ندارد استفاده کنید، -v آن نقطه پایانی (endpoint) را برای شما ایجاد می‌کند. این 항항 به صورت دایرکتوری ایجاد می‌شود. گزینه ro (در صورت وجود) باعث می‌شود bind mount به صورت فقط خواندنی (read-only) در کانتینر متصل شود. برای نسخه‌های 4.7.0 یا قدیمی‌تر، از '/code/.env' به جای '/app/.env' استفاده کنید.
  • --log-opt max-size=2m: حداکثر اندازه لاگ قبل از رول کردن (rollen) آن. یک عدد صحیح مثبت به همراه یک مодиفایر که واحد اندازه را نشان می‌دهد (k، m یا g).
  • --log-opt max-file=2: حداکثر تعداد فایل‌های لاگ که می‌توانند موجود باشند. اگر رول کردن لاگ‌ها باعث ایجاد فایل‌های اضافی شود، قدیمی‌ترین فایل حذف می‌شود. یک عدد صحیح مثبت.
  • --restart: سیاست راه‌اندازی مجدد (restart) که باید هنگام خروج کانتینر اعمال شود.
  • --name: اختصاص یک نام به کانتینر.

مسیر مطلق قبل از دو نقطه برای مسیر روی میزبان است و ممکن است در سیستم شما متفاوت باشد. مسیر مطلق بعد از دو نقطه برای مسیر روی کانتینر است و نمی‌تواند تغییر کند. با پاس دادن فایل .env به عنوان پارامتر bind-mount، می‌توانید بعداً مقادیر پیکربندی را تغییر دهید. اگر فایل .env را تغییر دادید، کانتینر را راه‌اندازی مجدد کنید تا تغییرات اعمال شوند.

  • انتقال (Immigrate) کانتینر Docker

برای انتقال کانتینر به کامپیوتر دیگری:

  • صادر کردن (Export) تصویر به فایل tar
docker save --output myems-normalization.tar myems/myems-normalization
  • کپی کردن فایل tar به کامپیوتر دیگری و سپس بارگذاری (load) تصویر از فایل tar
docker load --input .\myems-normalization.tar

گام 7: myems-aggregation

در این بخش، myems-aggregation را روی Docker نصب خواهید کرد.

  • کپی کردن کد منبع به دایرکتوری ریشه
cp -r myems/myems-aggregation /
cd /myems-aggregation
  • ایجاد فایل .env بر اساس فایل example.env
cp example.env .env
احتیاط

آدرس IP 127.0.0.1 را به صورت دستی با آدرس IP واقعی میزبان (HOST) جایگزین کنید.

  • ساخت تصویر (Image) از کد منبع
docker build -t myems/myems-aggregation .

برای ساخت تصویر برای چندین پلتفرم (نه فقط معماری و سیستم عاملی که کاربر در آن دستور build را اجرا می‌کند)، می‌توانید از buildx استفاده کرده و پرچم --platform را برای مشخص کردن پلتفرم مقصد خروجی build تنظیم کنید (مثال: linux/amd64، linux/arm64 یا darwin/amd64):

docker buildx build --platform=linux/amd64 -t myems/myems-aggregation .
  • اجرای یک کانتینر Docker (به عنوان سوپر یوزر اجرا کنید)
docker 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: اجرای کانتینر در پس‌زمینه و چاپ شناسه (ID) کانتینر
  • -v: اگر از -v یا --volume برای bind-mount یک فایل یا دایرکتوری که هنوز در میزبان Docker وجود ندارد استفاده کنید، -v آن نقطه پایانی (endpoint) را برای شما ایجاد می‌کند. این 항항 به صورت دایرکتوری ایجاد می‌شود. گزینه ro (در صورت وجود) باعث می‌شود bind mount به صورت فقط خواندنی (read-only) در کانتینر متصل شود. برای نسخه‌های 4.7.0 یا قدیمی‌تر، از '/code/.env' به جای '/app/.env' استفاده کنید.
  • --log-opt max-size=2m: حداکثر اندازه لاگ قبل از رول کردن (rollen) آن. یک عدد صحیح مثبت به همراه یک مодиفایر که واحد اندازه را نشان می‌دهد (k، m یا g).
  • --log-opt max-file=2: حداکثر تعداد فایل‌های لاگ که می‌توانند موجود باشند. اگر رول کردن لاگ‌ها باعث ایجاد فایل‌های اضافی شود، قدیمی‌ترین فایل حذف می‌شود. یک عدد صحیح مثبت.
  • --restart: سیاست راه‌اندازی مجدد (restart) که باید هنگام خروج کانتینر اعمال شود.
  • --name: اختصاص یک نام به کانتینر.

مسیر مطلق قبل از دو نقطه برای مسیر روی میزبان است و ممکن است در سیستم شما متفاوت باشد. مسیر مطلق بعد از دو نقطه برای مسیر روی کانتینر است و نمی‌تواند تغییر کند. با پاس دادن فایل .env به عنوان پارامتر bind-mount، می‌توانید بعداً مقادیر پیکربندی را تغییر دهید. اگر فایل .env را تغییر دادید، کانتینر را راه‌اندازی مجدد کنید تا تغییرات اعمال شوند.

  • انتقال (Immigrate) کانتینر Docker
  • صادر کردن (Export) تصویر به فایل tar
docker save --output myems-aggregation.tar myems/myems-aggregation
  • کپی کردن فایل tar به کامپیوتر دیگری و سپس بارگذاری (load) تصویر از فایل tar
docker load --input .\myems-aggregation.tar

گام 8: myems-web

در این بخش، myems-web را روی Docker نصب خواهید کرد.

  • ویرایش فایل config.js:
نکته

توکن mapboxToken را از آدرس https://mapbox.com دریافت کرده و سپس showOnlineMap را برابر true تنظیم کنید. اگر می‌خواهید قابلیت نقشه آنلاین را خاموش کنید، showOnlineMap را برابر false قرار دهید.

cd myems/myems-web
nano src/config.js
  • ویرایش فایل nginx.conf:
احتیاط

آدرس 127.0.0.1:8000 در فایل nginx.conf را با آدرس IP واقعی میزبان (HOST) و پورت myems-api جایگزین کنید.

cd myems/myems-web
nano nginx.conf
  • کپی کردن کد منبع به دایرکتوری ریشه
cp -r myems/myems-web /
cd /myems-web
اطلاعات

می‌توانید به طور ایمن از دستور 'npm run build' در این بخش صرف نظر کنید، زیرا این فرآیند درون Dockerfile تعبیه شده است.

  • ساخت تصویر (Image) از کد منبع
docker build -t myems/myems-web .
docker image prune -f

برای ساخت تصویر برای چندین پلتفرم (نه فقط معماری و سیستم عاملی که کاربر در آن دستور build را اجرا می‌کند)، می‌توانید از buildx استفاده کرده و پرچم --platform را برای مشخص کردن پلتفرم مقصد خروجی build تنظیم کنید (مثال: linux/amd64، linux/arm64 یا darwin/amd64):

docker buildx build --platform=linux/amd64 -t myems/myems-web .
docker image prune -f
  • اجرای یک کانتینر Docker

بر روی میزبان، فایل nginx.conf را bind-mount کنید:

docker 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: اجرای کانتینر در پس‌زمینه و چاپ شناسه (ID) کانتینر
  • -p: انتشار پورت(های) کانتینر به میزبان، 80:80 (Host:Container) پورت 80 (سمت راست) کانتینر را به پورت TCP 80 (سمت چپ) دستگاه میزبان متصل می‌کند.
  • -v: اگر از -v یا --volume برای bind-mount یک فایل یا دایرکتوری که هنوز در میزبان Docker وجود ندارد استفاده کنید، -v آن نقطه پایانی (endpoint) را برای شما ایجاد می‌کند. این 항항 به صورت دایرکتوری ایجاد می‌شود. گزینه ro (در صورت وجود) باعث می‌شود bind mount به صورت فقط خواندنی (read-only) در کانتینر متصل شود. برای نسخه‌های 4.7.0 یا قدیمی‌تر، از '/code/.env' به جای '/app/.env' استفاده کنید.
  • --log-opt max-size=2m: حداکثر اندازه لاگ قبل از رول کردن (rollen) آن. یک عدد صحیح مثبت به همراه یک مодиفایر که واحد اندازه را نشان می‌دهد (k، m یا g).
  • --log-opt max-file=2: حداکثر تعداد فایل‌های لاگ که می‌توانند موجود باشند. اگر رول کردن لاگ‌ها باعث ایجاد فایل‌های اضافی شود، قدیمی‌ترین فایل حذف می‌شود. یک عدد صحیح مثبت.
  • --restart: سیاست راه‌اندازی مجدد (restart) که باید هنگام خروج کانتینر اعمال شود.
  • --name: اختصاص یک نام به کانتینر.

اگر می‌خواهید تصویر را به کامپیوتر دیگری انتقال دهید:

  • صادر کردن (Export) تصویر به فایل tar
docker save --output myems-web.tar myems/myems-web
  • کپی کردن فایل tar به کامپیوتر دیگری و سپس بارگذاری (load) تصویر از فایل tar
docker load --input .\myems-web.tar

پس از نصب

تبریک! اکنون می‌توانید به رابط کاربری مدیریت MyEMS (Admin UI) و رابط کاربری وب MyEMS (Web UI) وارد شوید.

پورت‌های پیش‌فرض

MyEMS Web UI: 80

MyEMS API: 8000

MyEMS Admin UI: 8001

فرض کنید آدرس سرور 192.168.1.8 است (این آدرس را با آدرس واقعی سرور جایگزین کنید) دسترسی به MyEMS Web UI از طریق آدرس http://192.168.1.8 (پورت 80 می‌تواند حذف شود) دسترسی به MyEMS Admin UI از طریق آدرس http://192.168.1.8:8001

رمزهای عبور پیش‌فرض

MyEMS Admin UI

نام کاربری:

administrator

رمز عبور:

!MyEMS1

MyEMS Web UI

نام کاربری:

administrator@myems.io

رمز عبور:

!MyEMS1

رفع اشکال

نحوه حل مشکل тайم اوت در çek تصاویر (image pull timeout)

به دلیل مشکلات شبکه ارائه‌دهنده خدمات اینترنت (ISP)، ممکن است çek تصاویر کند باشد. می‌توانید از سرویس‌های تسریع ثالث استفاده کنید.