一、問題描述
有些時候,需要docker開啟外部訪問。
1.例如我們使用docker的可視化客戶端工具portainer來統一管理在不同服務器上的docker時,就需要開啟外部訪問,否則是連接不到的。
2.使用jenkins時,有些情況需要保證外部docker和內部的通信,也需要開啟外部訪問。
下面說下解決方案。
二、解決方案
需要按照以下步驟操作:
1.首先編輯docker文件,/usr/lib/systemd/system/docker.service
?vim /usr/lib/systemd/system/docker.service
2.修改ExecStart
配置項的內容如下。
另外這里多說一句,2375或者2376都無所謂,只要你在用的地方與這里的配置相對應就可以了。
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2376
3.重新加載配置
systemctl daemon-reload // 1,加載docker守護線程
systemctl restart docker // 2,重啟docker
三、補充說明
這樣相當于對外暴露端口,如果服務器的端口允許外網訪問,會出現安全問題。
生產環境中最好不要這么做,或者配置只對部分IP開放。
?