docker Portainer配置的時候出現這個錯誤:Endpoint is unreachable and there is no snapshot available for offline browsing
是因為開始配置的時候應該配置為Local模式而不是Remote模式
默認情況下,Docker守護進程會生成一個socket(/var/run/docker.sock)文件來進行本地進程通信,而不會監聽任何端口,因此只能在本地使用docker客戶端或者使用Docker API進行操作。
如果想在其他主機上操作Docker主機,就需要讓Docker守護進程監聽一個端口,這樣才能實現遠程通信。
解決方法:
方法1:開啟Docker遠程訪問
修改Docker服務啟動配置文件,添加一個未被占用的端口號,重啟docker守護進程。
# vim /etc/default/docker
DOCKER_OPTS="-H 0.0.0.0:5555"
# service docker restart
此時發現docker守護進程已經在監聽5555端口,在另一台主機上可以通過該端口訪問Docker進程了。
# docker -H IP:5555 images
但是我們卻發現在本地操作docker卻出現問題。
# docker images
FATA[0000] Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
這是因為Docker進程只開啟了遠程訪問,本地套接字訪問未開啟。我們修改/etc/default/docker,然后重啟即可。
# vim /etc/default/docker
DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:5555"
# service docker restart
方法2:重新修改為Local模式
訪問地址服務器IP加上端口號再加上/#/init/endpoint,如下:
服務器IP:9000/#/init/endpoint
回到最早的配置界面重新選擇Local模式即可