ساختن سرور docker registry

در این مقاله به بررسی ساختن سرور  docker registry می پردازیم.

docker registry چیست؟

زمانی که ما میخواهیم یک image برای داکر بگیریم , داکر بصورت پیش فرض آن را از اینترنت میگیرد. گاهی اوقات مانند آموزش های پیشین ما خودمان یک image را می سازیم و گاهی اوقات هم پهنای باند اینترنت ما جواب گوی دانلود کردن آن ها را ندارد از این رو نیازمندیم تا یک مخزن داخلی داشته باشیم تا imageهای docker در آن قرار داشته باشند. این مهم توسط docker registry انجام میشود.

برای اینکه ما یک docker registry داشته باشیم ابتدا باید آن را بر روی سیستمی که میخواهیم این کار را انجام دهد نصب کنیم. برای امنظور دستور زیر را اجرا میکنیم .

yum -y install docker-registry

و سپس فایل تنظیمات آن را با ویرایشگر محبوب خودمان باز میکنیم و تغییرات زیر را در آن اعمال میکنیم

در خط ۱۹ عبارت زیر را اضافه میکنیم

search_backend: _env:SEARCH_BACKEND:sqlalchemy

خط ۲۱ را مانند زیر تغییر میدهیم

sqlalchemy_index_database: _env:SQLALCHEMY_INDEX_DATABASE:sqlite:////tmp/docker-registry.db

در خط ۷۴ محل دخیره image Iا را مشخص میکنیم

storage_path: _env:STORAGE_PATH:/var/lib/docker-registry

نکنه: اگر مسیر بالا وجود نداشت با دستور زیر آن را ایجاد کنید

 mkdir /var/lib/docker-registry

و سپس با دستورات زیر docker registry را start و enable کنید

systemctl start docker-registry
systemctl enable docker-registry

ار آنجایی که docker registry بر روی پورت ۵۰۰۰ بالا می آید با دستور زیر از صحت عملکرد آن اطمینان حاصل میکنیم

curl localhost:5000

output:
“\”docker-registry server\””

نکته: زمانی که می خواهیم از docker registry استفاده کنیم داکرها بصورت پیش فرض به صورت https به این سرور وصل میشوند ولی زمانی که شما گواهی SSL ندارید میتوانید این فابلیت را غیرفعال کنید. برای این منظور لاین ۲۳ فایل /etc/sysconfig/docker را از حالت comment خارج کرده و سرویس docker را ریستارت میکنیم .

vi /etc/sysconfig/docker
INSECURE_REGISTRY=’–insecure-registry image.nowlearn.ir:5000′
systemctl restart docker

اگر بخواهیم imageی که خودمان ساخته ایم را بر روی docker registry لود کنید ابتدا باید آن را tag کنیم و سپس روی سرور قرار دهیم. برای این منظور بترتیب زیر عمل میکنیم .

docker tag web_server image.nowlearn.ir:5000/httpd
docker push image.nowlearn.ir:5000/httpd

برای جستجوی image در docker registry بصورت زیر عمل میکنیم

docker search image.nowlearn.ir:5000/httpd

و برای گرفتن آن image از docker registry بصورت زیر عمل میکنیم

docker pull image.nowlearn.ir:5000/httpd

در ضمن شما میتوانید برای خواندن مقالات مربوط به داکر یه اینجا و برای خواندن مقالات مربوط مجازی سازی به اینجا بروید.

برای خواندن آموزش اضافه کردن فضای ذخیره سازی خارجی به docker به اینجا مراجعه کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *