ویرگول
ورودثبت نام
Mohammad Jawad Barati
Mohammad Jawad Baratiبرنانه نویس، مدرس، محقق. عاشق انیمه هستم و دنبال چالش ها جدید.
Mohammad Jawad Barati
Mohammad Jawad Barati
خواندن ۱ دقیقه·۶ سال پیش

فعال کردن Docker remote API

چیزی که مشخصه این هست که شما همیشه نمیخوای از طریق ترمینال با سرور کار بکنی. مخصوصا زمانی که داری با داکر کار میکنی. فرض کن پروژه خودتو میخوای روی داکر بالا بیاری. دو راه داری: اولیش ترمینال هست و دومیش هم RESTful API خود داکر هست.

اما یادت باشه این کار یخورده امنیت رو پایین میاره. اولین کاری که میخوایم بکنیم فعال کردن API هست. فایل lib/systemd/system/docker.service/ رو باز کن و ExecStart قبلی رو کامنت و این خط رو اضافه بکن.

ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2376 --containerd=/run/containerd/containerd.sock

نکته: این خط برای من وقتی docker-ce نصب میکردم کار میکرد ولی برای docker.io باید اینجوری نوشت:

ExecStart=/usr/sbin/dockerd -H fd:// -H tcp://0.0.0.0:2375 $DOCKER_OPTS

البته اون متغیر DOCKER_OPTS توی فایل etc/default/docker هست و به صورت پیشفرض کامنت هستش. پس اون متغیر رو باید عوض بکنی:

DOCKER_OPTS=”-H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock”

اگه راه های بالا جواب نداد این کار رو بکن، فایل lib/systemd/system/docker.service/ رو باز کن و ExecStart قبلی رو کامنت و این خط رو اضافه بکن.

ExecStart=/usr/sbin/dockerd -H fd:// -H tcp://0.0.0.0:2375

پورت رو میتونی هر چیزی بدی (پورتی که اشغال نشده باشه). بعدش کامند های زیر رو توی ترمینال بزن:

systemctl daemon-reload sudo service docker restart

خب حالا برای تست این اندپوینت رو curl بکن:

curl http://YOUR_SERVER_IP:2376/version

منبع ۱، منبع ۲

docker
۲
۰
Mohammad Jawad Barati
Mohammad Jawad Barati
برنانه نویس، مدرس، محقق. عاشق انیمه هستم و دنبال چالش ها جدید.
شاید از این پست‌ها خوشتان بیاید