🐳 [Fix] آیا نمی توانید Docker را در اوبونتو 22.04 نصب کنید؟ در اینجا راه حل واقعی (خطای NO_PUBKEY) است
![🐳 [Fix] آیا نمی توانید Docker را در اوبونتو 22.04 نصب کنید؟ در اینجا راه حل واقعی (خطای NO_PUBKEY) است 🐳 [Fix] آیا نمی توانید Docker را در اوبونتو 22.04 نصب کنید؟ در اینجا راه حل واقعی (خطای NO_PUBKEY) است](https://i2.wp.com/media2.dev.to/dynamic/image/width=1000,height=500,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzpp2t7ugk2ejyca2rawc.png?w=780&resize=780,470&ssl=1)
خطای کلید GPG را برطرف کنید و Docker را در اوبونتو 22.04 نصب کنید
برای حل مسئله کلید GPG و اطمینان از نصب Docker تمیز ، این مراحل را با دقت دنبال کنید. برای جلوگیری از خطاهای نحوی ، هر دستور را دقیقاً همانطور که نشان داده شده است اجرا کنید.
1. هر پیکربندی مخزن Docker موجود را حذف کنید
برای جلوگیری از درگیری یا ورودی های ناقص ، بیایید هر پرونده مخزن موجود در Docker را تمیز کنیم:
sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -f /etc/apt/keyrings/docker.gpg
2. پیش نیازها را به روز کنید و نصب کنید
اطمینان حاصل کنید که سیستم شما از ابزارهای لازم برخوردار است:
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release
- در
-y
پرچم به طور خودکار نصب را تأیید می کند. - این مرحله تضمین می کند
curl
وتgnupg
برای واکشی و پردازش کلید GPG در دسترس هستند.
3. کلید GPG Docker را با اطمینان اضافه کنید
فهرست Keyring و کلید GPG Docker را تنظیم کنید:
sudo mkdir -p /etc/apt/keyrings
sudo chmod 755 /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
-
mkdir -p
اطمینان از ایجاد دایرکتوری در صورت وجود ندارد. -
chmod 755
مجوزهای دایرکتوری صحیح را تنظیم می کند. -
chmod a+r
کلید اصلی را توسط همه کاربران قابل خواندن می کند ، کهapt
نیاز دارد
4. مخزن Docker را اضافه کنید
مخزن Docker را به منابع مناسب خود اضافه کنید:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- این دستور به صورت پویا معماری را تنظیم می کند (به عنوان مثال ،
amd64
باarm64
) و نام رمزگذاری اوبونتو (به عنوان مثال ،jammy
برای 22.04). - در
tee
فرمان پیکربندی مخزن را به/etc/apt/sources.list.d/docker.list
بشر - محتوای پرونده را تأیید کنید تا از خطاهای نحوی اطمینان حاصل شود:
cat /etc/apt/sources.list.d/docker.list
خروجی مورد انتظار (به عنوان مثال برای amd64
در اوبونتو 22.04):
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
اگر خروجی ناقص به نظر می رسد (به عنوان مثال ، کاراکترهای اضافی ، فضاهای گمشده) ، پرونده را حذف کنید (sudo rm /etc/apt/sources.list.d/docker.list
) و مجدداً echo
فرمان
5. APT را به روز کنید و Docker را نصب کنید
اکنون شاخص بسته را به روز کنید و Docker را نصب کنید:
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- اگر دوباره خطای GPG را مشاهده کردید (
NO_PUBKEY 7EA0A9C3F273FCD8
) ، مرحله کلید GPG و مجوزها را دو بار بررسی کنید/etc/apt/keyrings/docker.gpg
بشر - در
-y
پرچم های تأیید پرچم.
6. نصب Docker را تأیید کنید
Docker را آزمایش کنید تا از کار خود اطمینان حاصل کنید:
sudo docker run hello-world
این یک تصویر آزمایشی را می کشد و یک ظرف را اجرا می کند. در صورت موفقیت ، پیامی را مشاهده می کنید که داکر در حال کار است.
🙌 اختیاری: docker را بدون آن اجرا کنید sudo
برای جلوگیری از تایپ کردن sudo
برای دستورات Docker:
sudo usermod -aG docker $USER
ورود به سیستم و بازگشت به داخل ، یا اجرا:
newgrp docker
آن را امتحان کنید:
docker run hello-world
🛠 عیب یابی خطای “توکن”
شخصیت “یافت شده ای که نمی تواند هرگونه توکن را شروع کند” که شما ذکر کردید احتمالاً با مسئله اصلی GPG ارتباط ندارد اما می تواند ناشی از آن باشد:
-
بد اخلاق
/etc/apt/sources.list.d/docker.list
:- اگر پرونده مخزن حاوی شخصیت های نامعتبر باشد (به عنوان مثال ، نقل قول های اضافی ، فضاها یا زبانه ها)
apt
ممکن است شکست بخورد - پرونده را بررسی کنید:
cat /etc/apt/sources.list.d/docker.list
- اگر پرونده مخزن حاوی شخصیت های نامعتبر باشد (به عنوان مثال ، نقل قول های اضافی ، فضاها یا زبانه ها)
- اگر نادرست است ، آن را برداشته و با استفاده از آن مجدداً بازآفرینی کنید
echo
فرمان در مرحله 4.
-
فایل yaml docker را تشکیل می دهد (در صورت کاربرد):
- اگر از آهنگسازی Docker استفاده می کنید و
docker-compose.yml
پرونده ، خطا می تواند یک مسئله نحوی را نشان دهد (به عنوان مثال ، insentation نامعتبر ، کاراکترهای ولگرد). - پرونده را برای خطاها بررسی کنید:
docker-compose config
- اگر از آهنگسازی Docker استفاده می کنید و
- اگر شما
docker-compose.yml
، محتوای آن را به اشتراک بگذارید ، و من می توانم به شناسایی مسئله کمک کنم.
-
حافظه پنهان مناسب:
- حافظه نهان مناسب را پاک کنید و دوباره امتحان کنید:
sudo apt-get clean sudo rm -rf /var/lib/apt/lists/* sudo apt-get update
-
مسائل محلی یا محیط زیست:
- اطمینان حاصل کنید که محلی سیستم شما به درستی تنظیم شده است ، زیرا برخی از ابزارها با محلی های نامعتبر سوء رفتار می کنند:
locale
-
اگر خروجی خطاها را نشان می دهد ، یک مکان معتبر را تنظیم کنید:
sudo locale-gen en_US.UTF-8 export LC_ALL=en_US.UTF-8
🔍 اگر مسئله همچنان ادامه داشته باشد
اگر هنوز با خطای کلید GPG یا خطای “توکن” روبرو هستید ، لطفاً ارائه دهید:
- پیام خطای دقیق هنگام اجرا
sudo apt-get update
بشر - محتویات
/etc/apt/sources.list.d/docker.list
(اجراcat /etc/apt/sources.list.d/docker.list
). - در صورت استفاده از آهنگسازی Docker ، خود را به اشتراک بگذارید
docker-compose.yml
پرونده - خروجی از
ls -l /etc/apt/keyrings/docker.gpg
برای تأیید مجوزها
✅ یادداشت های نهایی
- مراحل فوق با راهنمای نصب رسمی Docker برای اوبونتو مطابقت دارد و برای امنیت مناسب اوبونتو 22.04 را به خود اختصاص می دهد.
- خطای “توکن” احتمالاً یک مسئله ثانویه است ، احتمالاً از پیکربندی ناقص. پاکسازی و دستورات دقیق فوق باید از آن جلوگیری کند.
- اگر هنوز گیر کرده اید ، جزئیات اضافی را به اشتراک بگذارید ، و من راه حل را بیشتر متناسب می کنم.
کانتینر شدن مبارک! 🐳 اگر به کمک بیشتری نیاز دارید به من اطلاع دهید.