Docker開啟Remote API 訪問 2375端口
作者:hongdada
出處:https://www.cnblogs.com/hongdada/p/11512901.html
Docker常見端口
2375:未加密的docker socket,遠(yuǎn)程root無密碼訪問主機(jī)
2376:tls加密套接字,很可能這是您的CI服務(wù)器4243端口作為https 443端口的修改
2377:群集模式套接字,適用于群集管理器,不適用于docker客戶端
5000:docker注冊服務(wù)
4789和7946:覆蓋網(wǎng)絡(luò)
開啟配置
方法一
首先是怎么配置遠(yuǎn)程訪問的API:
sudo vim /etc/default/docker
加入下面一行
DOCKER_OPTS="-H tcp://0.0.0.0:2375"
重啟docker即可:
sudo systemctl restart docker
PS:這是網(wǎng)上給的配置方法,也是這種簡單配置讓Docker Daemon把服務(wù)暴露在tcp的2375端口上,這樣就可以在網(wǎng)絡(luò)上操作Docker了。Docker本身沒有身份認(rèn)證的功能,只要網(wǎng)絡(luò)上能訪問到服務(wù)端口,就可以操作Docker。
方法二
在/usr/lib/systemd/system/docker.service,配置遠(yuǎn)程訪問。
如果沒有這個(gè)文件,可以使用systemctl show --property=FragmentPath docker命令查找。
主要是在[Service]這個(gè)部分,加上下面兩個(gè)參數(shù)
# vim /usr/lib/systemd/system/docker.service
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
重啟
systemctl daemon-reload
systemctl restart docker
方法三
下面修改daemon.json的配置
vim /etc/docker/daemon.json
{
"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}
"unix:///var/run/docker.sock":unix socket,本地客戶端將通過這個(gè)來連接 Docker Daemon。
"tcp://0.0.0.0:2375":tcp socket,表示允許任何遠(yuǎn)程客戶端通過 2375 端口連接 Docker Daemon。
修改配置以后
然后讓docker重新讀取配置文件,并重啟docker服務(wù)
systemctl daemon-reload
systemctl restart docker
查看docker進(jìn)程:
[root@slaver2 ~]# ps -ef|grep docker
root 44221 1 1 18:16 ? 00:00:06 /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
Docker守護(hù)進(jìn)程打開一個(gè)HTTP Socket,這樣才能實(shí)現(xiàn)遠(yuǎn)程通信
簡單使用
-H為連接目標(biāo)主機(jī)docker服務(wù)
查看docker版本
[root@slaver2 /]# docker -H tcp://18.16.202.95:2375 version
Client: Docker Engine - Community
Version: 19.03.0
API version: 1.40
Go version: go1.12.5
Git commit: aeac9490dc
Built: Wed Jul 17 18:15:40 2019
OS/Arch: linux/amd64
Experimental: false
Cannot connect to the Docker daemon at tcp://18.16.202.95:2375. Is the docker daemon running?
查看鏡像包:
[root@slaver2 ~]# docker -H tcp://18.16.202.95:2375 images
REPOSITORY TAG IMAGE ID CREATED SIZE
zookeeper 3.5.5 3487af26dee9 4 weeks ago 225MB
k8s.gcr.io/kube-apiserver v1.15.1 68c3eb07bfc3 8 weeks ago 207MB
k8s.gcr.io/kube-scheduler v1.15.1 b0b3c4c404da 8 weeks ago 81.1MB
k8s.gcr.io/kube-proxy v1.15.1 89a062da739d 8 weeks ago 82.4MB
k8s.gcr.io/kube-controller-manager v1.15.1 d75082f1d121 8 weeks ago 159MB
quay.io/coreos/flannel v0.11.0-amd64 ff281650a721 7 months ago 52.6MB
k8s.gcr.io/coredns 1.3.1 eb516548c180 8 months ago 40.3MB
k8s.gcr.io/etcd 3.3.10 2c4adeb21b4f 9 months ago 258MB
quay.io/jetstack/cert-manager-controller v0.5.2 2e4d862afebb 9 months ago 47.3MB
confluentinc/cp-kafka 5.0.1 5467234daea9 10 months ago 557MB
k8s.gcr.io/pause 3.1 da86e6ba6ca1 21 months ago 742kB
radial/busyboxplus curl 71fa7369f437 4 years ago 4.23MB