اما وقتی من همان دستور را با اجازه sudo اجرا می کنم ؛
سیستم تمام جزئیات نسخه نصب شده Docker را نمایش می دهد ، همانطور که در خروجی زیر نشان داده شده است:
مشتری: Docker Engine - انجمن نسخه: 19.03.8 نسخه API: 1.40 نسخه بروید: go1.12.17 Git commit: afacb8b7f0 ساخته شده: چهارشنبه مارس 11 01:25:46 2020 OS / Arch: linux / amd64 آزمایشی: نادرست سرور: موتور داکر - انجمن موتور: نسخه: 19.03.8 نسخه API: 1.40 (حداقل نسخه 1.12) نسخه بروید: go1.12.17 Git commit: afacb8b7f0 ساخته شده: چهارشنبه مارس 11 01:24:19 2020 OS / Arch: linux / amd64 آزمایشی: نادرست کانتینر: نسخه: 1.2.13 GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429 رکاب زدن: نسخه: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: نسخه: 0.18.0 GitCommit: fec3683
پس از جستجو در صفحه اسناد Docker ، فهمیدم که Daemon پیش فرض اتصال به یک درگاه یونیکس به جای درگاه TCP وصل می شود. ] بنابراین ، کاربران عادی نمی توانند اکثر دستورات Docker را اجرا کنند.
اگر می خواهید Docker را به عنوان کاربر غیر ریشه در لینوکس اجرا کنید ، باید این مراحل را دنبال کنید.
من این را در 04/18/04 در سرور اوبونتو بررسی کردم.
اما این همچنین باید روی توزیع های دیگر کار کند لینوکس.
با شروع Docker به عنوان کاربر غیر ریشه در لینوکس
برای رفع خطای "اجازه رد" و استفاده از Docker به عنوان کاربر غیر ریشه ، گروهی را با نام "docker" ایجاد کنید. دستور زیر:
$ sudo groupadd docker
سپس کاربر خود را به گروه داکر اضافه کنید:
$ sudo usermod -aG docker US USER
پس از افزودن کاربر به گروه داکر ، از سیستم خارج شوید و دوباره وارد سیستم شوید برای اعمال تغییرات.
یا دستور زیر را اجرا کنید تا تغییرات را برای گروه ها اعمال کنید
$ newgrp docker
از این پس یک کاربر معمولی (غیر ریشه) می تواند از Docker بدون مجوز sudo استفاده کند.
بگذارید دستورات زیر را به عنوان یک کاربر عادی اجرا کنم:
نسخه docker $
docker سلام جهان
در مورد ، قبل از افزودن کاربر به گروه Docker ، چندین دستور Docker را با اجازه "sudo" اجرا کرده اید ، ممکن است خطایی مشابه آنچه در زیر مشاهده می کنید.
اخطار: خطا در بارگیری پرونده پیکربندی: / home / user /.docker/config.json - stat /home/user/.docker/config.json: اجازه رد شد
پیام خطای فوق نشان می دهد كه دایرکتوری ~ / .docker / فهرست به دلیل دستورات sudo با مجوزهای صحیح ایجاد نشده است.
برای رفع این مشکل ، با استفاده از دستورات زیر ، مالکیت و مجوزهای این فهرست را تغییر دهید:
$ sudo chown "$ USER": "$ USER" /home/"$USER "/.docker -R
$ sudo chmod g + rwx "$ HOME / .docker" -R
به سیستم وارد شوید و وارد سیستم شوید تا همه کارایی آن انجام شود.
اگر مشکل هنوز برطرف نشده است ، ممکن است شما مجبور شوید ~ / .docker / فهرست را حذف کنید.
این به صورت خودکار بازیابی می شود. در صورت وجود همه تنظیمات کاربر را از دست دهید.