برنامه نویسی

🐳 [Fix] آیا نمی توانید Docker را در اوبونتو 22.04 نصب کنید؟ در اینجا راه حل واقعی (خطای NO_PUBKEY) است

خطای کلید 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 ارتباط ندارد اما می تواند ناشی از آن باشد:

  1. بد اخلاق /etc/apt/sources.list.d/docker.list:

    • اگر پرونده مخزن حاوی شخصیت های نامعتبر باشد (به عنوان مثال ، نقل قول های اضافی ، فضاها یا زبانه ها) apt ممکن است شکست بخورد
    • پرونده را بررسی کنید:
     cat /etc/apt/sources.list.d/docker.list
    
  • اگر نادرست است ، آن را برداشته و با استفاده از آن مجدداً بازآفرینی کنید echo فرمان در مرحله 4.
  1. فایل yaml docker را تشکیل می دهد (در صورت کاربرد):

    • اگر از آهنگسازی Docker استفاده می کنید و docker-compose.yml پرونده ، خطا می تواند یک مسئله نحوی را نشان دهد (به عنوان مثال ، insentation نامعتبر ، کاراکترهای ولگرد).
    • پرونده را برای خطاها بررسی کنید:
     docker-compose config
    
  • اگر شما docker-compose.yml، محتوای آن را به اشتراک بگذارید ، و من می توانم به شناسایی مسئله کمک کنم.
  1. حافظه پنهان مناسب:

    • حافظه نهان مناسب را پاک کنید و دوباره امتحان کنید:
     sudo apt-get clean
     sudo rm -rf /var/lib/apt/lists/*
     sudo apt-get update
    
  2. مسائل محلی یا محیط زیست:

    • اطمینان حاصل کنید که محلی سیستم شما به درستی تنظیم شده است ، زیرا برخی از ابزارها با محلی های نامعتبر سوء رفتار می کنند:
     locale
    
  • اگر خروجی خطاها را نشان می دهد ، یک مکان معتبر را تنظیم کنید:

     sudo locale-gen en_US.UTF-8
     export LC_ALL=en_US.UTF-8
    

🔍 اگر مسئله همچنان ادامه داشته باشد

اگر هنوز با خطای کلید GPG یا خطای “توکن” روبرو هستید ، لطفاً ارائه دهید:

  1. پیام خطای دقیق هنگام اجرا sudo apt-get updateبشر
  2. محتویات /etc/apt/sources.list.d/docker.list (اجرا cat /etc/apt/sources.list.d/docker.list).
  3. در صورت استفاده از آهنگسازی Docker ، خود را به اشتراک بگذارید docker-compose.yml پرونده
  4. خروجی از ls -l /etc/apt/keyrings/docker.gpg برای تأیید مجوزها

✅ یادداشت های نهایی

  • مراحل فوق با راهنمای نصب رسمی Docker برای اوبونتو مطابقت دارد و برای امنیت مناسب اوبونتو 22.04 را به خود اختصاص می دهد.
  • خطای “توکن” احتمالاً یک مسئله ثانویه است ، احتمالاً از پیکربندی ناقص. پاکسازی و دستورات دقیق فوق باید از آن جلوگیری کند.
  • اگر هنوز گیر کرده اید ، جزئیات اضافی را به اشتراک بگذارید ، و من راه حل را بیشتر متناسب می کنم.

کانتینر شدن مبارک! 🐳 اگر به کمک بیشتری نیاز دارید به من اطلاع دهید.

نوشته های مشابه

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

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

دکمه بازگشت به بالا