2019年10月22日 星期二

啟用Docker的Restful API功能

這篇文章適用於Docker 19.03 CE版於ubuntu19.04與CentOS7

因為Docker的Restful API並未提供認證功能
所以啟用此功能務必確認網路是封閉或測試需求
不要在正式環境下開啟此功能




部分網路上的文章會說修改 /etc/docker/daemon.json 這個檔案的設定
但是這個檔案似乎只有發行版打包的套件才會有
如果是從docker.com安裝的則都使用systemd服務啟動
在這種情況需要修改啟動參數

建立 /etc/systemd/system/docker.service.d/override.conf 檔案,並輸入

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375

注意:第一行ExecStart是空的
否則會出現錯誤「docker.service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing.

接著重新載入設定與重新啟動服務即可

systemctl daemon-reload
systemctl restart docker.service

可以使用netstat -nao|grep 2375確認一下是否有 Listen


參考文件
https://success.docker.com/article/how-do-i-enable-the-remote-api-for-dockerd

https://success.docker.com/article/using-systemd-to-control-the-docker-daemon

https://docs.docker.com/engine/security/https/

沒有留言:

張貼留言