docker 學(xué)習(xí)筆記之docker連接網(wǎng)絡(luò)的設(shè)置
1、如果docker主機(jī)不需要通過代理連接外網(wǎng)
則docker的相關(guān)命令(如docker search)或docker容器與網(wǎng)絡(luò)相關(guān)的操作都可以正常進(jìn)行,不需要特殊設(shè)置。
2、當(dāng)docker主機(jī) 是通過代理才能連接外網(wǎng)時,采用服務(wù)方式啟動守護(hù)進(jìn)程
如果docker守護(hù)進(jìn)程是通過服務(wù)的方式啟動的(sudo start docker)
當(dāng)我們執(zhí)行如 docker search ubuntu 命令時,會報錯
Error response from daemon: Get https://index.docker.io/v1/search?q=ubuntu: dial tcp: lookup index.docker.io on 127.0.1.1:53: read udp 127.0.1.1:53: i/o timeout
而且這時啟動的容器,在容器內(nèi)也無法連接外網(wǎng)。
需要通過設(shè)置來完成。
3、當(dāng)docker主機(jī) 是通過代理才能連接外網(wǎng)時,讓docker守護(hù)進(jìn)程可連接外網(wǎng),非服務(wù)啟動方式
通過如下方式啟動docker守護(hù)進(jìn)程
sudo HTTP_PROXY=http://代理地址:端口 docker daemon
這時執(zhí)行如 docker search ubuntu 命令時,可以成功。 注意,這并不需要docker主機(jī)自己設(shè)置代理上網(wǎng)(也就是docker進(jìn)程沒有利用主機(jī)設(shè)置的代理上網(wǎng))。
但是正常啟動的容器,在容器內(nèi)也無法連接外網(wǎng)。
4、當(dāng)docker主機(jī) 是通過代理才能連接外網(wǎng)時,采用服務(wù)方式啟動
可以修改 /etc/default/docker 配置文件
# If you need Docker to use an HTTP proxy, it can also be specified here. #export http_proxy="http://127.0.0.1:3128/" export http_proxy="http://代理地址:端口"
這樣采用 sudo start docker方式啟動守護(hù)進(jìn)程后
這時執(zhí)行如 docker search ubuntu 命令時,可以成功。
注意,這并不需要docker主機(jī)自己設(shè)置代理上網(wǎng)(也就是docker進(jìn)程沒有利用主機(jī)設(shè)置的代理上網(wǎng))。
但是正常啟動的容器,在容器內(nèi)也無法連接外網(wǎng)。
5、怎么讓容器通過代理上網(wǎng)
容器本身是一個輕量級的linux系統(tǒng),我們可以通讓主機(jī)上網(wǎng)一樣設(shè)置讓其上網(wǎng)。容器上網(wǎng)和讓docker守護(hù)進(jìn)程聯(lián)網(wǎng)沒有關(guān)系。
方法一:臨時聯(lián)網(wǎng)
在shell界面上設(shè)置臨時環(huán)境變量: export http_proxy="http://代理ip地址:端口"
如:
export http_proxy=http://10.41.70.8:80
一旦設(shè)置正確的環(huán)境變量http_proxy,容器就可以正常上網(wǎng)了。
因?yàn)槭桥R時的,shell關(guān)閉后,環(huán)境變量就沒了。
方法二:修改主目錄下的.bashrc文件,增加兩行
http_proxy=http://yourproxyaddress:proxyport export http_proxy
就是把環(huán)境變量http_proxy持久化,但只對該用戶登錄有效。
注意:容器設(shè)置代理 和 docker主機(jī)設(shè)置代理以及docker守護(hù)進(jìn)程設(shè)置代理無關(guān),也就是容器只會使用自己的代理信息上網(wǎng)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 淺談docker-compose網(wǎng)絡(luò)設(shè)置之networks
- Docker容器訪問宿主機(jī)網(wǎng)絡(luò)的方法
- Docker為網(wǎng)絡(luò)bridge模式指定容器ip的方法
- Docker Compose 網(wǎng)絡(luò)設(shè)置詳解
- Docker網(wǎng)絡(luò)代理設(shè)置詳解
- Docker 網(wǎng)絡(luò)模式(四種)詳細(xì)介紹
- Docker端口映射實(shí)現(xiàn)網(wǎng)絡(luò)訪問的方法
- docker容器內(nèi)網(wǎng)絡(luò)請求緩慢問題解決
- centos修改docker網(wǎng)絡(luò)配置方法分享
- Docker網(wǎng)絡(luò)模型以及容器通信詳解續(xù)篇
相關(guān)文章
基于docker部署skywalking實(shí)現(xiàn)全鏈路監(jiān)控功能
這篇文章主要介紹了基于docker部署skywalking實(shí)現(xiàn)全鏈路監(jiān)控,skywalking提供了在很多不同的場景下用于觀察和監(jiān)控分布式系統(tǒng)的方式,文中給大家介紹如何快速部署skywalking全鏈路監(jiān)控,感興趣的朋友一起看看吧2022-03-03docker搭建dnsmasq服務(wù)的實(shí)現(xiàn)
本文將指導(dǎo)讀者如何使用Docker搭建DNSmasq服務(wù),通過簡單的步驟和詳細(xì)的說明,幫助讀者快速在Docker環(huán)境中部署DNSmasq,具有一定的參考價值,感興趣的可以了解一下2024-01-01Linux環(huán)境下安裝docker環(huán)境(親測無坑)
大家好,本篇文章主要講的是Linux環(huán)境下安裝docker環(huán)境(親測無坑),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2021-12-12詳解Docker中VLAN網(wǎng)絡(luò)模式的配置
在Docker應(yīng)用到生產(chǎn)環(huán)境的時候包括了原生Bridge NAT模式、LinuxBridge VLAN模式以及利用第三方的網(wǎng)絡(luò)方案這三種,這篇文章給大家詳細(xì)介紹了Docker中VLAN網(wǎng)絡(luò)模式的配置,有需要的朋友們下面來一起看看吧。2016-10-10Docker-compose搭建Redis集群(Sentinel)的實(shí)現(xiàn)
本文主要介紹了Docker-compose搭建Redis集群(Sentinel)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Docker配置文件docker-compose.yml使用指南
本文主要介紹了Docker配置文件docker-compose.yml使用指南,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Docker部署springboot項目到騰訊云的實(shí)現(xiàn)步驟
本文主要介紹了Docker部署springboot項目到騰訊云的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04