我已經使用systemd在CentOS下安裝了docker(v17.06.2-ce)。 Docker工作正常並且偵聽unix套接字。現在我想讓docker收聽Unix套接字和TCP套接字2375.由於這是一個內部開發機器安全性沒有問題。如何使docker在systemd下的centos下監聽unix和TCP套接字
我掃描了互聯網發現了幾篇文章,但仍然有一些問題。
我的理解是我有systemd文件(docker.service),它啓動沒有任何參數的dockerd。 ExecStart =/usr/bin/dockerd
然後在這裏有文件demon.json,我可以列出我要聽的東西。 我的問題是在這裏輸入什麼。它可能是。
{
"hosts": [ "unix:///var/run/docker.sock",
"tcp://0.0.0.0:2375"
]
}
或者它是這樣的套接字激活?
{
"hosts": [ "unix:///var/run/docker.sock",
"fd://"
]
}
後來我發現的第二件事情是通過提供文件docker.sockst這樣
[Unit] Description=Docker Socket for the API
PartOf=docker.service
[Socket]
ListenStream=tcp://0.0.0.0:2375
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
準備systemd插座但是,這將只定義一個TCP套接字。根據一篇文章,docker將響應TCP端口,但不再是unix套接字。
如果有人能指出細節,那將會很好。
好尖約空白ExecStart =行下面的鏈接。我之前沒有注意到這種行爲,但我現在看到這在'man systemd.service'中有記錄。 –