DOCKER(1) Docker User Manuals DOCKER(1)

docker-image-push - بارگذاری یک ایمیج در یک رجیستری

docker image push [OPTIONS] NAME[:TAG]

از docker image push برای به اشتراک‌گذاری ایمیج‌های خود در رجیستری Docker Hub ⟨https://hub.docker.com⟩ یا یک رجیستری میزبانی‌شده توسط خودتان استفاده کنید.

برای اطلاعات بیشتر درباره نام‌های معتبر ایمیج و تگ، به docker-image-tag(1) مراجعه کنید.

متوقف کردن فرایند docker image push، برای مثال با فشردن CTRL-c هنگام اجرا در ترمینال، عملیات ارسال را خاتمه می‌دهد.

اطلاعات احراز هویت رجیستری توسط docker-login(1) مدیریت می‌شود.

ابتدا با پیدا کردن شناسه کانتینر (با استفاده از docker container ls) و سپس کامیت کردن آن به یک نام ایمیج جدید، ایمیج تازه را ذخیره کنید. توجه داشته باشید که هنگام نام‌گذاری ایمیج‌ها فقط کاراکترهای a-z0-9-_. مجاز هستند:

# docker container commit c16378f943fe rhel-httpd

اکنون با استفاده از شناسه ایمیج، آن را به رجیستری ارسال کنید. در این مثال رجیستری روی هاستی به نام registry-host قرار دارد و به پورت 5000 گوش می‌دهد. برای انجام این کار، ایمیج را با نام هاست یا آدرس IP و پورت رجیستری تگ‌گذاری کنید:

# docker image tag rhel-httpd registry-host:5000/myadmin/rhel-httpd:latest
# docker image push registry-host:5000/myadmin/rhel-httpd:latest

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

# docker image ls

باید هر دو مورد rhel-httpd و registry-host:5000/myadmin/rhel-httpd را در فهرست مشاهده کنید.

از گزینه -a (یا --all-tags) برای ارسال همه تگ‌های یک ایمیج محلی استفاده کنید.

مثال زیر چندین تگ برای یک ایمیج ایجاد می‌کند و همه آن تگ‌ها را به Docker Hub ارسال می‌نماید.

$ docker image tag myimage registry-host:5000/myname/myimage:latest
$ docker image tag myimage registry-host:5000/myname/myimage:v1.0.1
$ docker image tag myimage registry-host:5000/myname/myimage:v1.0
$ docker image tag myimage registry-host:5000/myname/myimage:v1

ایمیج اکنون تحت چندین نام تگ‌گذاری شده است:

$ docker image ls
REPOSITORY                          TAG        IMAGE ID       CREATED      SIZE
myimage                             latest     6d5fcfe5ff17   2 hours ago  1.22MB
registry-host:5000/myname/myimage   latest     6d5fcfe5ff17   2 hours ago  1.22MB
registry-host:5000/myname/myimage   v1         6d5fcfe5ff17   2 hours ago  1.22MB
registry-host:5000/myname/myimage   v1.0       6d5fcfe5ff17   2 hours ago  1.22MB
registry-host:5000/myname/myimage   v1.0.1     6d5fcfe5ff17   2 hours ago  1.22MB

هنگام ارسال با گزینه --all-tags، تمام تگ‌های ایمیج registry-host:5000/myname/myimage ارسال می‌شوند:

$ docker image push --all-tags registry-host:5000/myname/myimage
The push refers to repository [registry-host:5000/myname/myimage]
195be5f8be1d: Pushed
latest: digest: sha256:edafc0a0fb057813850d1ba44014914ca02d671ae247107ca70c94db686e7de6 size: 4527
195be5f8be1d: Layer already exists
v1: digest: sha256:edafc0a0fb057813850d1ba44014914ca02d671ae247107ca70c94db686e7de6 size: 4527
195be5f8be1d: Layer already exists
v1.0: digest: sha256:edafc0a0fb057813850d1ba44014914ca02d671ae247107ca70c94db686e7de6 size: 4527
195be5f8be1d: Layer already exists
v1.0.1: digest: sha256:edafc0a0fb057813850d1ba44014914ca02d671ae247107ca70c94db686e7de6 size: 4527

-a, --all-tags[=false] ارسال همه تگ‌های یک ایمیج به مخزن

--platform="" ارسال مانیفست مخصوص یک پلتفرم به عنوان یک ایمیج تک‌پلتفرمی به رجیستری. ایندکس ایمیج ارسال نخواهد شد، به این معنی که سایر مانیفست‌ها، از جمله گواهی‌ها (attestations)، حفظ نخواهند شد. 'os[/arch[/variant]]': پلتفرم صریح (مانند linux/amd64)

-q, --quiet[=false] جلوگیری از خروجی پرحجم

docker-image(1)

Aug 2026 Docker Community