Docker 設(shè)置代理的三種方法(2025年06月03日親測可用)
在 Docker 中設(shè)置代理是非常常見的需求,尤其是在某些需要通過代理訪問外部資源的網(wǎng)絡(luò)環(huán)境下。本文將介紹三種配置 Docker 使用代理的常見方法:通過 daemon.json
配置鏡像加速器、通過 daemon.json
配置 HTTP/HTTPS 代理、以及通過 docker.service
配置代理。
方式零 就是不配置代理,使用網(wǎng)友大佬開發(fā)的代理腳本(2025年02月08日更新)
媽媽再也不用擔(dān)心下載不到docker Hub 上的鏡像了:
bash -c "$(curl -sSLf https://xy.ggbond.org/xy/docker_pull.sh)" -s 參數(shù)1:完整鏡像名 參數(shù)2:代理文件路徑(可選項)
說明:
代理文件路徑是指存放docker_mirrors.txt文件的目錄,如果不填寫默認(rèn)創(chuàng)建/etc/xiaoya目錄,并自動在該目錄生成docker_mirrors.txt文件。
docker_mirrors.txt文件每行一個代理鏡像點,越排在上方的優(yōu)先級越高,腳本會自動將上一次成功下載的代理點排序在第一位。
如果要手動添加與使用自定義的代理鏡像點,只需要在第一行填上地址即可。
示例:
bash -c "$(curl -sSLf https://xy.ggbond.org/xy/docker_pull.sh)" -s grafana/loki:2.8.0 /tmp/
方式一 配置daemon.json鏡像加速器 (適合入門對下載速度無要求)
通過修改 Docker 的配置文件 daemon.json
來配置鏡像加速器,可以加速 Docker 鏡像的拉取速度,尤其是在國內(nèi)環(huán)境下。操作步驟如下:
編輯 /etc/docker/daemon.json
文件:
sudo vim /etc/docker/daemon.json
添加鏡像加速器配置:
{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn", "https://ueo0uggy.mirror.aliyuncs.com", "https://docker.m.daocloud.io", "https://cf-workers-docker-io-apl.pages.dev" ] }
使用 jq 命來行工具驗證配置格式是否符合json 格式(可選)
sudo apt install jq -y jq '.' /etc/docker/daemon.json
保存并退出編輯器,然后重啟 Docker 服務(wù):
sudo systemctl restart docker
您可以通過 docker info
命令查看當(dāng)前 Docker 配置,包括是否成功加載了鏡像加速器。
sudo docker info | grep -i 'Registry Mirrors'
如果配置成功,您會看到類似以下的輸出:
Registry Mirrors: https://hub-mirror.c.163.com https://docker.mirrors.ustc.edu.cn https://ueo0uggy.mirror.aliyuncs.com https://docker.m.daocloud.io https://cf-workers-docker-io-apl.pages.dev
這表示鏡像加速器已經(jīng)成功配置并生效。
拉取鏡像進行測試
另一種驗證方法是通過拉取一個鏡像來檢查是否使用了鏡像加速器。您可以嘗試?yán)∫粋€常見的 Docker 鏡像,例如 hello-world
:
sudo docker pull hello-world
如果您配置了國內(nèi)的鏡像加速器,并且能夠快速完成鏡像拉取,那么鏡像加速器已經(jīng)生效。如果拉取速度較慢,可能說明加速器沒有生效,您可以再次檢查配置或網(wǎng)絡(luò)環(huán)境。
方式二 配置daemon.jsonHTTP/HTTPS 代理
在使用方式二和方式三前,請確保代理環(huán)境已正確設(shè)置:
驗證代理環(huán)境如下命令
# root @ DESKTOP-1LUA3MJ in ~ [15:26:32] $ export http_proxy="http://127.0.0.1:7890" $ export https_proxy="http:/127.0.0.1:7890" # root @ DESKTOP-1LUA3MJ in ~ [15:26:34] $ curl -I http://www.google.com # 檢查代理是否生效,200/301響應(yīng)表示成功 HTTP/1.1 200 OK Transfer-Encoding: chunked Cache-Control: private Connection: keep-alive
如果需要通過代理訪問 Docker 鏡像或其他網(wǎng)絡(luò)資源,可以通過修改 daemon.json
配置 HTTP 和 HTTPS 代理。以下是配置步驟:
編輯 /etc/docker/daemon.json
文件:
sudo vim /etc/docker/daemon.json
配置 HTTP 和 HTTPS 代理:
{ "proxies": { "http-proxy": "http://127.0.0.1:7890", "https-proxy": "http://127.0.0.1:7890" } }
保存并退出編輯器,重啟 Docker 服務(wù):
sudo systemctl restart docker
驗證代理配置是否生效:
sudo docker info | grep -A 1 ' HTTP Proxy'
輸出結(jié)果應(yīng)顯示:
WARNING: bridge-nf-call-iptables is disabled HTTP Proxy: http://127.0.0.1:7890 HTTPS Proxy: http://127.0.0.1:7890 WARNING: bridge-nf-call-ip6tables is disabled
方式三 配置docker.service代理 (進階使用,使用效果同方法二 )
另一種配置代理的方法是直接在 Docker 服務(wù)的啟動配置中設(shè)置代理。通過編輯 docker.service
文件來配置 HTTP 和 HTTPS 代理。
配置步驟:
查找 docker.service
文件的位置:
sudo systemctl status docker
輸出中的 Loaded
行會顯示 docker.service
的路徑,例如:
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
編輯 docker.service
文件,在 [Service]
部分添加代理環(huán)境變量:
sudo vim /lib/systemd/system/docker.service
在 [Service]
部分添加如下內(nèi)容:
[Service] Environment="HTTP_PROXY=http://127.0.0.1:7890/" Environment="HTTPS_PROXY=http://127.0.0.1:7890/"
保存并退出編輯器,重載 docker.service
配置并重啟 Docker 服務(wù):
sudo systemctl daemon-reload sudo systemctl restart docker
如果需要查看 Docker 啟動日志,可以使用以下命令:
sudo journalctl -u docker.service
通過這三種方法,您可以輕松地為 Docker 配置代理,幫助您更好地管理鏡像拉取和容器網(wǎng)絡(luò)訪問。選擇適合您的方式進行配置,以便在使用 Docker 時更加高效、便捷。
到此這篇關(guān)于Docker 設(shè)置代理的三種方法(2025年06月03日親測可用)的文章就介紹到這了,更多相關(guān)Docker 設(shè)置代理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker 部署單機版 Pulsar 和集群架構(gòu) Redis(開發(fā)神器)的方法
這篇文章主要介紹了Docker 部署單機版 Pulsar 和集群架構(gòu) Redis(開發(fā)神器)的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10docker-compose啟動redis集群的實現(xiàn)步驟
本文主要介紹了docker-compose啟動redis集群的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07window-docker的容器使用宿主機音頻設(shè)備的過程詳解
這篇文章主要介紹了window-docker的容器使用宿主機音頻設(shè)備的相關(guān)知識,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-05-05云原生使用Docker部署Firefox瀏覽器詳細(xì)圖文教程
下面這篇文章主要給大家介紹了關(guān)于云原生使用Docker部署Firefox瀏覽器的相關(guān)資料,這對于一些特殊的測試場景非常有用,例如需要在不同版本的瀏覽器中進行測試,需要的朋友可以參考下2024-04-04