ابتدا باید mongodb-tools در همان container نصب گردد تا بتوان از دستور mongodump استفاده کرد اما معمولا داخل خود container موجود نیست که mongodb درون آن نصب می باشد علاوه برداشتن mongodb-tools
امکان apt و apt-get و install نیز موجود نمی باشد.
برای این امر به container های دیگر در آن شبکه که کمی امکانات بیشتری دارند رفته و به صورت شبکه از mongodb بک آپ گرفته می شود.
برای چک کردن شبکه ی کانتینر و دسترسی به mongo کانتینری که دیتابیس mongodb در آن قرار ندارد کامند زیر را زده می شود:
mongo --host <CONTAINER_ID> --port <PORT>
پیش نیاز :
apt-get install
apt-get upgrade
apt-get update
apt-get install wget
apt-get install -y mongodb
اگر دیتابیس را مشاهده کنید مراحل زیر را اجرا می کنیم:
سپس یک فایل بک آپ می سازیم:
touch <BACKUPFILE_NAME>.bson
سپس دستور زیر را اجرا می کنیم:
Mongo --host <CONTAINER_ID> --port <PORT> -d <DATABASE_NAME> -c <COLLECTION_NAME> --out - > <COLLECTIONFILE_NAME>.bson
سپس حجم فایل ساخته شده را چک کرده که اگر حجم آن افزایش یافته بود بک آپ در کانتینر دیگر گرفته شده است.
سپس فایل بک آپ را با دستور زیر فشرده کنید:
gzip <BACKUPFILE_NAME>.bson
سپس با میانبر CTRL+D از Container خارج می شوید و با دستور زیر فایل فشرده شده در container را در سرور کپی کنید:
docker cp <CONTAINER_ID>:<SOURCE_ADDRESS>/<BACKUPFILE_NAME>.bson.gz <DESTINATION_ADDRESS>
برای انتقال فایل از سرور راه های متعددی وجود دارد:
1.استفاده از دستور SCP
2.استفاده از ایجاد لینک در وب سرور NGINX و دانلود آن در local
3. …
.
.