首页 > 系统相关 >Docker配置代理访问网络ubuntu24.04

Docker配置代理访问网络ubuntu24.04

时间:2024-10-02 11:33:34浏览次数:10  
标签:127.0 0.1 配置 ubuntu24.04 代理 访问 Proxy Docker

本文将详细介绍如何根据系统代理配置,正确设置 Docker 的代理环境变量,使其能够通过代理服务器进行网络访问。

一、查看系统代理配置

首先,我们查看了系统的代理配置:

以下是图片内容的文字描述:

Proxy 设置

  • Network Proxy: 已开启
  • Configuration: 手动 (Manual)

HTTP Proxy

  • URL: 127.0.0.1
  • Port: 20171

HTTPS Proxy

  • URL: (未填写)
  • Port: 0

FTP Proxy

  • URL: (未填写)
  • Port: 0

SOCKS Host

  • URL: 127.0.0.1
  • Port: 20170

Ignored Hosts

  • localhost, 127.0.0.0/8, ::1

根据配置界面,可以看到:

  • Network Proxy: 已经启用。
  • HTTP Proxy: 代理服务器地址是 127.0.0.1,端口是 20171
  • SOCKS Host: 代理服务器地址是 127.0.0.1,端口是 20170

为了确保 Docker 可以通过该代理进行网络访问,我们需要将这些配置应用到 Docker 的环境变量中。

二、为 Docker 配置代理

1. 创建 Docker 代理配置目录

首先,为 Docker 服务创建一个代理配置目录(如果不存在):

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

2. 创建并编辑 http-proxy.conf 配置文件

使用 vim 或其他编辑器创建并编辑 /etc/systemd/system/docker.service.d/http-proxy.conf 文件:

sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf

在文件中添加以下内容,根据系统代理设置进行了详细配置:

[Service]
Environment="HTTP_PROXY=http://127.0.0.1:20171/"
Environment="HTTPS_PROXY=http://127.0.0.1:20171/"
Environment="NO_PROXY=localhost,127.0.0.0/8,::1"

配置说明:

  • HTTP_PROXY:指定 HTTP 代理地址,使用 127.0.0.1:20171,与系统代理设置一致。
  • HTTPS_PROXY:指定 HTTPS 代理地址,仍然使用 127.0.0.1:20171,确保 Docker 可以通过代理进行 HTTPS 请求。
  • NO_PROXY:指定不需要通过代理的地址列表,包括本地主机 localhost127.0.0.0/8 和 IPv6 本地地址 ::1

3. 重新加载 systemd 并重启 Docker 服务

配置完成后,重新加载 systemd 配置,并重启 Docker 服务,使更改生效:

sudo systemctl daemon-reload
sudo systemctl restart docker

4. 验证代理配置是否生效

使用以下命令验证 Docker 是否正确使用了代理设置:

docker info | grep -i proxy

如果配置成功,你应该会看到类似以下的输出:

 HTTP Proxy: http://127.0.0.1:20171/
 HTTPS Proxy: http://127.0.0.1:20171/
 No Proxy: localhost,127.0.0.0/8,::1

四、使用

通过上述步骤,我们成功将系统代理设置应用到了 Docker 中,使得 Docker 可以通过指定的代理服务器进行网络访问。在复杂网络环境中,这种配置可以有效地解决 Docker 访问网络超时、无法连接 Docker Hub 等问题。

进而我们可以正常使用 docker 命令而不用担心网络问题了:

docker search nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04
docker image pull nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04

标签:127.0,0.1,配置,ubuntu24.04,代理,访问,Proxy,Docker
From: https://www.cnblogs.com/li508q/p/18444525

相关文章

  • Linux 安装 docker-compose
    原文:linux安装docker-compose(官网教程)要在Linux上安装DockerCompose命令,可以按照以下步骤进行操作:下载DockerCompose的可执行文件。可以使用以下命令下载最新版本:sudocurl-L"https://github.com/docker/compose/releases/latest/download/docker-compose-$(un......
  • pbootcms禁止数字id方式访问栏目,如/1/
    为了在PBootCMS中关闭数字ID方式访问栏目,使栏目只能通过类似 www.xxx.com/about/ 的方式进行访问,可以按照以下步骤进行修改。这种方法适用于PBootCMS3.1.3版本,其他版本可以参考进行相应的修改。步骤1:找到并修改代码打开文件:打开 IndexController.php 文件,路径为 \A......
  • Docker实操过程
    Docker实操过程体会知乎上搜“docker入门”搜到的笔记总是起一个赚噱头的标题,然后点进去一看,里面大多是一些入门内容的简单罗列,要么对于背景内容长篇大论让读者抓不住重点,要么对于命令API简单罗列,入门者甚至连这些API如何衔接使用,这些命令大概发生了什么可能都没有概念,说是入门......
  • 【Docker】Docker 容器的使用指南:如何进入容器并运行命令
    目录1.什么是Docker容器?2.进入Docker容器的方法2.1使用`dockerexec`2.2使用`dockerattach`2.3使用`dockerrun`3.常见选项与参数4.退出容器5.进入容器的实际操作步骤步骤1:查看正在运行的容器步骤2:进入容器步骤3:在容器中运行命令步骤4:退出容器6.......
  • STM32出现HardFault_Handler故障的原因1. **内存溢出或访问越界** 2. **堆栈溢出**
    STM32出现HardFault_Handler故障的原因STM32系统中,HardFault_Handler故障主要有两个方面的原因:内存溢出或访问越界堆栈溢出最近我遇到的问题是栈溢出,情况如下:staticchardata[10000];voidfun1(unsignedchar*buf){inti=0;for(i=0;i<5000;i++)......
  • 掌握Docker:简化KES单机安装与管理的最佳实践
    今天我们将继续深入探讨KES的单机安装,依然围绕Docker的使用展开。这一部分的内容将涵盖一些常见的陷阱以及在遇到问题时如何进行有效的反馈和解决。首先,我们需要找到官方的安装教程,确保以官方指南为主,同时结合我们自己的使用习惯。为什么我们如此青睐Docker,而不是选择传统的命令......
  • 数据订阅与消费中间件Canal 服务搭建(docker)
    MySQLBin-log开启进入mysql容器dockerexec-itmysql5.7bash开启mysql的binlogcd/etc/mysql/mysql.conf.dvimysqld.cnf#在文件末尾处添加如下配置(如果没有这个文件就创建一个)[mysqld]#开启binloglog-bin=mysql-bin#log-bin=/var/lib/mysql/mysql-bin#或者配......
  • Docker教程
    目录Docker教程一、安装Docker二、镜像操作三、容器操作四、run细节五、保存镜像六、分享镜像三、docker构建Docker教程简单介绍:一、安装Docker用ubuntu系统来做演示删除系统里面原有的镜像forpkgindocker.iodocker-docdocker-composedocker-compose-v2podma......
  • 安装docker
    docker安装更新包管理器sudoapt-getupdate安装依赖包sudoapt-getinstall\ca-certificates\curl\gnupg\lsb-release添加Docker的官方GPG密钥sudomkdir-p/etc/apt/keyringscurl-fsSLhttps://download.docker.com/linux/ubuntu/......
  • Docker入门实践(五)
    什么是容器?定义容器是每个应用组件的独立进程,它完全和你机器的其他东西隔离。独立性:每个容器包含所有它需要的功能,不依赖于主机上预安装的依赖项。隔离行:由于容器是隔离运行的,它们对主机和其他容器的影响最小,增加了应用的安全性。独立性:每个容器独立管理,删除一个容器不会......