当前位置:首页 > 技术 > 正文内容

VMware虚拟机与Docker代理设置指南

访客 技术 2026年7月30日 1

获取宿主机代理信息

首先确认本地网络接口的IPv4地址。以Windows系统为例,通过命令行执行ipconfig查看无线网卡配置:

C:\Users\user> ipconfig

无线局域网适配器 WLAN:
   IPv4 地址 . . . . . . . . . . . . : 192.135.0.161
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.135.0.1

假设代理服务监听端口为 11823,则代理服务器地址为 http://192.135.0.161:11823

VMware 网络模式配置

在 VMware 中选中目标虚拟机,右键进入"设置" → "网络适配器",选择NAT模式,确保虚拟机可通过宿主机共享网络连接。

NAT模式配置示意图

Linux 系统级代理配置

登录虚拟机中的Linux系统,进行以下环境变量设置。

1. 设置Shell代理变量

编辑用户根目录下的环境配置文件:

sudo vi ~/.bash_profile

添加如下内容:

export http_proxy="http://192.135.0.161:11823"
export https_proxy="http://192.135.0.161:11823"
export ftp_proxy="http://192.135.0.161:11823"
export no_proxy="localhost,127.0.0.1"
export WGETRC="$HOME/.wgetrc"

2. 配置 wget 使用代理

创建或修改 wget 的专属配置文件:

vi ~/.wgetrc

写入:

use_proxy = on
http_proxy = http://192.135.0.161:11823
https_proxy = http://192.135.0.161:11823

3. 加载并验证配置

应用更改:

source ~/.bash_profile

检查环境变量是否生效:

echo $http_proxy
# 输出:http://192.135.0.161:11823

测试网页下载功能:

wget -O index.html https://hub.docker.com/
--2024-12-01 13:36:16--  https://hub.docker.com/
Connecting to 192.135.0.161:11823... connected.
Proxy request sent, awaiting response... 200 OK
Saving to: ‘index.html’

Docker 代理配置方法

Docker 守护进程需要单独配置代理才能访问外部镜像仓库。

1. 创建 systemd 代理配置文件

新建目录和配置文件:

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

填入以下内容:

[Service]
Environment="HTTP_PROXY=http://192.135.0.161:11823"
Environment="HTTPS_PROXY=http://192.135.0.161:11823"
Environment="NO_PROXY=localhost,127.0.0.1"

2. 重载守护进程并重启 Docker

sudo systemctl daemon-reload
sudo systemctl restart docker

3. 检查服务状态

sudo systemctl status docker

4. 验证代理设置结果

docker info | grep -i proxy
# 应输出:
#  HTTP Proxy: http://192.135.0.161:11823
#  HTTPS Proxy: http://192.135.0.161:11823
#  No Proxy: localhost,127.0.0.1

5. 配置镜像加速源

编辑 Docker 守护进程配置文件:

sudo vi /etc/docker/daemon.json

加入国内镜像站和不安全注册表(可选):

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  "insecure-registries": ["192.168.0.134:80"]
}

6. 查看镜像源配置效果

docker info | grep -A 3 "Registry Mirrors:"
# Registry Mirrors:
#  https://docker.mirrors.ustc.edu.cn/

7. 清理旧镜像并拉取新镜像

删除已存在的 Nginx 镜像:

docker images | grep nginx | awk 'NR>1 {print $3}' | xargs docker rmi -f || true

从公共仓库拉取镜像:

docker pull nginx:latest
Using default tag: latest
latest: Pulling from library/nginx
Digest: sha256:0c86dddac19f2ce4fd716ac58c0fd87bf69bfd4edabfd6971fb885bafd12a00b
Status: Downloaded newer image for nginx:latest

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。