Docker開啟Docker API方式
方式一:修改docker配置文件
1.使用vi或vim打開docker的配置文件/etc/docker/daemon.json
vim /etc/docker/daemon.json
2.打開寫入如下內(nèi)容后保存退出:
[ "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"] ]
hosts:為指定監(jiān)聽的ip地址與端口。
使用 0.0.0.0 監(jiān)聽所有網(wǎng)絡(luò)接口可能存在安全風(fēng)險(xiǎn),因?yàn)檫@會(huì)使 Docker API 可以被公開訪問。
建議在生產(chǎn)環(huán)境中僅允許受信任的 IP 地址訪問 Docker API,并使用安全連接(如 TLS)進(jìn)行通信。
3.重啟docker服務(wù)
sudo systemctl restart docker
如果重啟沒報(bào)錯(cuò),恭喜你!你已經(jīng)成功開啟了Docker API,移步至驗(yàn)證API是否正常請(qǐng)求。
如果報(bào)錯(cuò)了,請(qǐng)移步至下面提供的解決方案。
方式二:修改docker服務(wù)配置
1.使用vi或vim進(jìn)入docker.server /lib/systemd/sytem/docker.service
vim /lib/systemd/sytem/docker.service
2.找到 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock這一行

3.在這一行后面添加 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
4.重啟docker服務(wù)
systemctl daemon-reload sudo systemctl restart docker
如果重啟沒報(bào)錯(cuò),恭喜你!你已經(jīng)成功開啟了Docker API,移步至驗(yàn)證API是否正常請(qǐng)求。
如果報(bào)錯(cuò)了,請(qǐng)看解決方案↓。
異常解決方案
我兩種方式都試了,全部無效,設(shè)置完配置文件后就報(bào)錯(cuò)(報(bào)錯(cuò)信息如下):

具體原因是因?yàn)樵诜绞揭恢械?/etc/docker/daemon.json文件寫入的配置與方式二種的ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock這行命令有沖突。應(yīng)該是都有hosts相關(guān)配置。
解決方案
1.修改/lib/systemd/sytem/docker.service文件,去掉 -H fd://

2.將fd://添加到daemon.json配置中
[ "hosts": ["fd://","tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"] ]
3.重啟docker
systemctl daemon-reload sudo systemctl restart docker
重啟成功!
驗(yàn)證API是否開啟
1.在本機(jī)使用curl命令查看版本信息
curl http://localhost:2375/version

2.如果局域網(wǎng)其他機(jī)器獲取使用postman接口請(qǐng)求工具內(nèi)無法訪問,需要關(guān)閉防火墻或?qū)⒎?wù)器的2375端口放行。
- 對(duì)于 iptables:
sudo systemctl stop iptables
- 對(duì)于 firewalld:
sudo systemctl stop firewalld
關(guān)閉防火墻后,請(qǐng)嘗試再次使用 curl 連接到 Docker API,看看問題是否解決。如果問題仍然存在,請(qǐng)重新啟動(dòng)防火墻以保護(hù)您的系統(tǒng)。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker運(yùn)行鏡像以及退出、刪除容器的實(shí)現(xiàn)方式
這篇文章主要介紹了Docker運(yùn)行鏡像以及退出、刪除容器的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
Dockerfile中 CMD和ENTRYPOINT的區(qū)別小結(jié)
本文主要介紹了Dockerfile中 CMD和ENTRYPOINT的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-09-09
docker-compose中l(wèi)ink和external_links的區(qū)別及說明
拆分docker-compose.yml導(dǎo)致depends_on、links和external網(wǎng)絡(luò)配置失效,因compose限制及Portainer命名沖突,解決方案為使用external_links或手動(dòng)創(chuàng)建網(wǎng)絡(luò)2025-09-09
使用 docker-compose 運(yùn)行 MySQL的方法
這篇文章主要介紹了使用 docker-compose 運(yùn)行 MySQL的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
docker運(yùn)行nginx容器并掛載數(shù)據(jù)卷
本文主要介紹了docker運(yùn)行nginx容器,并通過掛載目錄將容器與宿主機(jī)的數(shù)據(jù)進(jìn)行共享和統(tǒng)一管理,具有一定的參考價(jià)值,感興趣的可以了解一下2025-03-03
Docker給容器添加新端口映射的兩種方法及常用命令舉例詳解
Docker是一個(gè)開源的應(yīng)用容器引擎,允許開發(fā)者打包和發(fā)布應(yīng)用到任何流行的Linux機(jī)器上,并實(shí)現(xiàn)虛擬化,這篇文章主要介紹了Docker給容器添加新端口映射的兩種方法及常用命令的相關(guān)資料,需要的朋友可以參考下2025-03-03

