
چیزی که مشخصه این هست که شما همیشه نمیخوای از طریق ترمینال با سرور کار بکنی. مخصوصا زمانی که داری با داکر کار میکنی. فرض کن پروژه خودتو میخوای روی داکر بالا بیاری. دو راه داری: اولیش ترمینال هست و دومیش هم 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