در این بخش، قرار است به برچسب image
نگاهی دقیق تر داشته باشیم و با امکانات آن آشنا بشویم.
همانطور که یادتان هست، برچسب image
وظیفه دارد image ای که قرار است برای کانتینر استفاده شود را معرفی کند. به تکه ای از فایل Compose که در بخش های قبلی ساختیم و در آن برچسب image را ساختیم نگاهی بیاندازید.
services:
app:
image: node:12-alpine
برای اینکه درک بهتری از بقیه ی محتوای این بخش داشته باشیم نیاز است، کمی بیشتر با نام گذاری یک image آشنا بشویم. نام imageها بر اساس الگوی username/image_name:tag_name
تعریف می شود. مثلا tutum/influxdb
یکی از image های روی مخزن داکر است. که نام شرکت یا فردی که این image را ارائه کرده است tutum و نام image ارائه شده influxdb است. یا image دیگری ubuntu:18.04
است که در آن بخش های image_name
و tag_name
تعریف شده است.
با توجه به توضیح های ارائه شده، در ادامه حالت های معتبر برای تعریف image را می بینیم.
- استفاده از image_name :
image: redis
- استفاده از image_name:tag_name :
image: ubuntu:18.04
- استفاده از username/image_name :
image: tutum/influxdb
- استفاده از image_name ای که از یک مخزن خاص دانلود شود:
image: example-registry.com:4000/postgresql
- استفاده از ID یک Image:
image: a4bc65fd
اگر image معرفی شده، روی سیستم تان وجود نداشته باشد، Compose تلاش می کند آن را از روی مخزن مورد نظر دانلود و اجرا کند. مگر اینکه شما در services برچسب Build را داشته باشید که در این شرایط image مورد نظر با همان تنظیمات و پیکربندی که در Build خواسته اید، ایجاد می شود.