Docker開(kāi)啟Docker API方式
方式一:修改docker配置文件
1.使用vi或vim打開(kāi)docker的配置文件/etc/docker/daemon.json
vim /etc/docker/daemon.json
2.打開(kāi)寫入如下內(nèi)容后保存退出:
[ "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"] ]
hosts:為指定監(jiān)聽(tīng)的ip地址與端口。
使用 0.0.0.0 監(jiān)聽(tīng)所有網(wǎng)絡(luò)接口可能存在安全風(fēng)險(xiǎn),因?yàn)檫@會(huì)使 Docker API 可以被公開(kāi)訪問(wèn)。
建議在生產(chǎn)環(huán)境中僅允許受信任的 IP 地址訪問(wèn) Docker API,并使用安全連接(如 TLS)進(jìn)行通信。
3.重啟docker服務(wù)
sudo systemctl restart docker
如果重啟沒(méi)報(bào)錯(cuò),恭喜你!你已經(jīng)成功開(kāi)啟了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
如果重啟沒(méi)報(bào)錯(cuò),恭喜你!你已經(jīng)成功開(kāi)啟了Docker API,移步至驗(yàn)證API是否正常請(qǐng)求。
如果報(bào)錯(cuò)了,請(qǐng)看解決方案↓。
異常解決方案
我兩種方式都試了,全部無(wú)效,設(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是否開(kāi)啟
1.在本機(jī)使用curl命令查看版本信息
curl http://localhost:2375/version

2.如果局域網(wǎng)其他機(jī)器獲取使用postman接口請(qǐng)求工具內(nèi)無(wú)法訪問(wèn),需要關(guān)閉防火墻或?qū)⒎?wù)器的2375端口放行。
- 對(duì)于 iptables:
sudo systemctl stop iptables
- 對(duì)于 firewalld:
sudo systemctl stop firewalld
關(guān)閉防火墻后,請(qǐng)嘗試再次使用 curl 連接到 Docker API,看看問(wèn)題是否解決。如果問(wèn)題仍然存在,請(qǐng)重新啟動(dòng)防火墻以保護(hù)您的系統(tǒng)。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker的pdflatex環(huán)境配置的方法步驟
這篇文章主要介紹了docker的pdflatex環(huán)境配置的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
Docker部署SQL?Server及最佳應(yīng)用小結(jié)
SQL?Server是由Microsoft開(kāi)發(fā)和推廣的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),本文總結(jié)了容器環(huán)境下的部署及實(shí)踐應(yīng)用,需要的朋友可以參考下2022-08-08
docker desktop安裝redis的實(shí)現(xiàn)步驟
本文主要介紹了docker desktop安裝redis的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
CentOS 7 sshd 鏈接被拒絕問(wèn)題解決辦法
這篇文章主要介紹了CentOS 7 sshd 鏈接被拒絕問(wèn)題解決辦法的相關(guān)資料,需要的朋友可以參考下2017-03-03
gitlab-ci配置服務(wù)器自動(dòng)拉取方式
文章主要介紹了如何在GitLab中設(shè)置和使用Runner來(lái)實(shí)現(xiàn)自動(dòng)化部署,包括手動(dòng)設(shè)置Runner,配置.gitlab-ci.yml文件,編寫和放置shell腳本,以及設(shè)置免密登錄2025-12-12
Docker啟動(dòng)容器后自動(dòng)關(guān)閉問(wèn)題解決
在使用Docker創(chuàng)建并啟動(dòng)mysql容器時(shí),發(fā)現(xiàn)mysql容器并沒(méi)有啟動(dòng)而是自動(dòng)關(guān)閉了,本文主要介紹了Docker啟動(dòng)容器后自動(dòng)關(guān)閉問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-07-07
Docker創(chuàng)建enrollment token錯(cuò)誤異常解析及解決方案
部署完kibana,需要通過(guò)enrollment token方式來(lái)連接elasticsearch,此時(shí)需要在elasticsearch中創(chuàng)建enrollment token,這篇文章主要介紹了Docker創(chuàng)建enrollment token錯(cuò)誤異常解析及解決方案,需要的朋友可以參考下2024-04-04
Docker學(xué)習(xí)之Container容器的具體使用
這篇文章主要介紹了Docker學(xué)習(xí)之Container容器的具體使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06

