亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解如何優(yōu)雅的給Docker配置網(wǎng)絡(luò)代理

 更新時間:2024年01月17日 16:53:07   作者:程序員老舅  
有時因為網(wǎng)絡(luò)原因,比如公司 NAT,或其它啥的,需要使用代理,這篇文章主要為大家詳細介紹了如何優(yōu)雅的給Docker配置網(wǎng)絡(luò)代理,需要的小伙伴可以跟隨小編一起學習一下

有時因為網(wǎng)絡(luò)原因,比如公司 NAT,或其它啥的,需要使用代理。Docker 的代理配置,略顯復雜,因為有三種場景。但基本原理都是一致的,都是利用 Linux 的 http_proxy 等環(huán)境變量。

Dockerd 代理

在執(zhí)行docker pull時,是由守護進程dockerd來執(zhí)行。因此,代理需要配在dockerd的環(huán)境中。而這個環(huán)境,則是受systemd所管控,因此實際是systemd的配置。

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/proxy.conf

在這個proxy.conf文件(可以是任意*.conf的形式)中,添加以下內(nèi)容:

[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080/"
Environment="HTTPS_PROXY=http://proxy.example.com:8080/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"

其中,proxy.example.com:8080 要換成可用的免密代理。通常使用 cntlm 在本機自建免密代理,去對接公司的代理??蓞⒖肌禠inux下安裝配置Cntlm 代理》。

Container 代理

在容器運行階段,如果需要代理上網(wǎng),則需要配置 ~/.docker/config.json。以下配置,只在Docker 17.07及以上版本生效。

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://proxy.example.com:8080",
     "httpsProxy": "http://proxy.example.com:8080",
     "noProxy": "localhost,127.0.0.1,.example.com"
   }
 }
}

這個是用戶級的配置,除了 proxies,docker login 等相關(guān)信息也會在其中。而且還可以配置信息展示的格式、插件參數(shù)等。

此外,容器的網(wǎng)絡(luò)代理,也可以直接在其運行時通過 -e 注入 http_proxy 等環(huán)境變量。這兩種方法分別適合不同場景

config.json 非常方便,默認在所有配置修改后啟動的容器生效,適合個人開發(fā)環(huán)境。在CI/CD的自動構(gòu)建環(huán)境、或者實際上線運行的環(huán)境中,這種方法就不太合適,用 -e 注入這種顯式配置會更好,減輕對構(gòu)建、部署環(huán)境的依賴。當然,在這些環(huán)境中,最好用良好的設(shè)計避免配置代理上網(wǎng)。

Docker Build 代理

雖然 docker build 的本質(zhì),也是啟動一個容器,但是環(huán)境會略有不同,用戶級配置無效。在構(gòu)建時,需要注入 http_proxy 等參數(shù)。

docker build . \
    --build-arg "HTTP_PROXY=http://proxy.example.com:8080/" \
    --build-arg "HTTPS_PROXY=http://proxy.example.com:8080/" \
    --build-arg "NO_PROXY=localhost,127.0.0.1,.example.com" \
    -t your/image:tag

注意:無論是 docker run 還是 docker build,默認是網(wǎng)絡(luò)隔絕的。如果代理使用的是 localhost:3128 這類,則會無效。這類僅限本地的代理,必須加上 --network host 才能正常使用。而一般則需要配置代理的外部IP,而且代理本身要開啟 Gateway 模式。

重啟生效

代理配置完成后,reboot 重啟當然可以生效,但不重啟也行。

docker build 代理是在執(zhí)行前設(shè)置的,所以修改后,下次執(zhí)行立即生效。Container 代理的修改也是立即生效的,但是只針對以后啟動的 Container,對已經(jīng)啟動的 Container 無效。

dockerd 代理的修改比較特殊,它實際上是改 systemd 的配置,因此需要重載 systemd 并重啟 dockerd 才能生效。

sudo systemctl daemon-reload
sudo systemctl restart docker

到此這篇關(guān)于詳解如何優(yōu)雅的給Docker配置網(wǎng)絡(luò)代理的文章就介紹到這了,更多相關(guān)Docker配置網(wǎng)絡(luò)代理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 云服務器安裝docker環(huán)境的解決方案

    云服務器安裝docker環(huán)境的解決方案

    這篇文章主要介紹了云服務器安裝docker環(huán)境的解決方案,可以使用termins連接服務器,詳細介紹了docker安裝與Portainer安裝過程,需要的朋友可以參考下
    2024-04-04
  • docker如何搭建samba共享目錄

    docker如何搭建samba共享目錄

    文章介紹了如何使用Docker搭建一個Samba共享文件系統(tǒng),首先安裝了Docker容器,然后下載并拉取了Samba鏡像,在本地創(chuàng)建了一個目錄用于掛載,啟動容器并添加了SMB用戶名和密碼,驗證掛載成功,最后總結(jié)了主要參數(shù)
    2025-03-03
  • 如何利用Docker部署一個簡單的springboot項目

    如何利用Docker部署一個簡單的springboot項目

    這篇文章主要介紹了如何利用Docker部署一個簡單的springboot項目,本文通過實例圖文實例代碼相結(jié)合給大家介紹的非常詳細,需要的朋友可以參考下
    2024-02-02
  • 給docker配置指定ip的超詳細圖解

    給docker配置指定ip的超詳細圖解

    這篇文章主要給大家介紹了關(guān)于給docker配置指定ip的超詳細圖解教程,Docker容器的IP地址由Docker守護進程動態(tài)分配,默認情況下,它使用的是宿主機的IP地址,但是在某些情況下,您可能需要為Docker容器指定靜態(tài)IP地址,需要的朋友可以參考下
    2023-09-09
  • Windows下Docker安裝各種軟件的詳細過程

    Windows下Docker安裝各種軟件的詳細過程

    這篇文章主要介紹了Windows下Docker安裝各種軟件的詳細過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • Docker安裝FTP服務器的方法步驟

    Docker安裝FTP服務器的方法步驟

    FTP是一種傳輸協(xié)議,本文主要介紹了Docker安裝FTP服務器的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-05-05
  • Docker容器不斷重啟問題解決

    Docker容器不斷重啟問題解決

    本文主要介紹了使用docker-compose.yml配置文件啟動容器時遇到的問題,卷標沖突和容器無法啟動,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • idea使用docker插件一鍵部署項目的操作方法

    idea使用docker插件一鍵部署項目的操作方法

    這篇文章主要介紹了idea使用docker插件一鍵部署項目的操作方法,本文通過圖文實例相結(jié)合給大家介紹的非常詳細,感興趣的朋友一起看看吧
    2025-04-04
  • docker部署mysql和nginx服務的示例詳解

    docker部署mysql和nginx服務的示例詳解

    這篇文章主要為大家詳細介紹了docker部署mysql和nginx服務的相關(guān)知識,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-04-04
  • CentOS7上安裝Docker的詳細步驟

    CentOS7上安裝Docker的詳細步驟

    Docker?是一個開源工具,它可以讓創(chuàng)建和管理?Linux?容器變得簡單,容器就像是輕量級的虛擬機,并且可以以毫秒級的速度來啟動或停止,下面這篇文章主要給大家介紹了關(guān)于CentOS7上安裝Docker的詳細步驟,需要的朋友可以參考下
    2022-01-01

最新評論