本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

dinghy-http-proxy Docker 镜像下载 - 轩辕镜像

dinghy-http-proxy 镜像详细信息和使用指南

dinghy-http-proxy 镜像标签列表和版本信息

dinghy-http-proxy 镜像拉取命令和加速下载

dinghy-http-proxy 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

dinghy-http-proxy
codekitchen/dinghy-http-proxy
自动构建

dinghy-http-proxy 镜像详细信息

dinghy-http-proxy 镜像标签列表

dinghy-http-proxy 镜像使用说明

dinghy-http-proxy 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Dinghy HTTP Proxy 是用于本地开发的HTTP代理和DNS服务器,基于nginx-proxy修改,支持自动主机名生成、SSL、CORS及自定义域名解析,简化Docker容器的本地访问。
8 收藏0 次下载activecodekitchen镜像

dinghy-http-proxy 镜像详细说明

dinghy-http-proxy 使用指南

dinghy-http-proxy 配置说明

dinghy-http-proxy 官方文档

Dinghy HTTP Proxy

Dinghy HTTP Proxy 是 Dinghy 使用的HTTP代理和DNS服务器,基于 jwilder 的 nginx-proxy 项目修改,更适用于本地开发环境。同时集成DNS解析器,默认将所有 *.docker 域名解析到Docker虚拟机,支持自定义配置。

核心功能与特性

  • 基于nginx-proxy:继承nginx-proxy的反向代理能力,自动配置Nginx以代理Docker容器
  • DNS解析服务:内置DNS服务器,默认解析 *.docker 域名,可通过环境变量自定义顶级域名
  • 自动主机名生成:Docker Compose项目自动生成 <service>.<project>.<tld> 格式主机名
  • 灵活的主机名配置:支持显式设置虚拟主机(多主机、通配符主机、正则表达式匹配)
  • CORS支持:通过环境变量快速启用跨域资源共享
  • 子域名自动支持:Docker Compose项目自动支持子域名访问,也可手动配置
  • SSL支持:通过证书文件实现单主机SSL,支持HTTPS重定向配置

使用场景

适用于本地Docker开发环境,特别是需要同时运行多个项目、通过自定义域名访问容器、需要SSL加密或跨域资源共享的场景。简化本地开发中Docker容器的网络访问配置,无需手动修改hosts文件或端口映射。

配置与使用方法

暴露端口配置

代理默认使用容器暴露的第一个端口作为HTTP代理目标端口,可通过设置容器的 VIRTUAL_PORT 环境变量指定目标端口。

Docker Compose项目自动主机名

代理会基于Docker Compose为容器添加的标签自动生成主机名,格式为 <service>.<project>.<tld>。例如,默认 *.docker 顶级域名下,"myapp"项目中的"web"服务可通过 [***] 访问。

显式设置主机名

通过为容器设置 VIRTUAL_HOST 环境变量(可通过 docker run -e 或docker-compose的 environment 配置)指定主机名,覆盖自动生成的主机名。

多主机配置

支持多个虚拟主机,用逗号分隔,例如 VIRTUAL_HOST=foo.bar.com,baz.bar.com,bar.com,每个主机配置相同。还可指定端口:foo.bar.com,baz.bar.com:3000,未指定端口的主机使用默认端口。

通配符与正则表达式主机

支持前缀/后缀通配符(如 *.bar.comfoo.bar.*)及正则表达式(以 ~ 开头)。例如 ~^foo\.bar\..*\.xip\.io 可匹配 foo.bar.127.0.0.1.xip.io 等域名(需配合xip.io等 wildcard DNS服务)。更多说明见 nginx server_names文档。

启用CORS

为容器设置 CORS_ENABLED=true 环境变量,允许代理接受跨域请求。

子域名支持

在主机名前添加 . 前缀,使容器同时支持所有子域名访问。例如 VIRTUAL_HOST=.myrailsapp.docker 可使应用同时通过 *.myrailsapp.docker 访问。Docker Compose自动生成的主机名默认支持此功能。

SSL支持

证书配置

将SSL证书和私钥放置在 HOME/.dinghy/certs 目录,文件名需与虚拟主机名对应,扩展名为 .crt(证书)和 .key(私钥)。例如 VIRTUAL_HOST=foo.bar.com.docker 需对应 foo.bar.com.docker.crtfoo.bar.com.docker.key

SSL工作原理

  • ** cipher配置**:基于Mozilla Nginx中间配置文件,兼容Firefox 1+、Chrome 1+、IE 7+等客户端,启用HSTS和SSL会话缓存
  • 默认行为:若容器有可用证书,80端口会重定向到443端口;无证书则使用80端口
  • HTTPS_METHOD环境变量:控制HTTPS行为
    • HTTPS_METHOD=redirect(默认):80端口重定向到443
    • HTTPS_METHOD=noredirect:同时支持80和443,不重定向
    • HTTPS_METHOD=nohttp:仅支持443,禁用80端口

生成自签名证书

使用 openssl 生成自签名证书:

bash
openssl req -x509 -newkey rsa:2048 -keyout foo.bar.com.docker.key \
-out foo.bar.com.docker.crt -days 365 -nodes \
-subj "/C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=foo.bar.com.docker" \
-config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:foo.bar.com.docker")) \
-reqexts SAN -extensions SAN

生成后需安装到系统信任证书库以避免浏览器警告。

在Dinghy之外使用

支持独立运行,通过环境变量自定义配置:

  • DOMAIN_TLD:默认 docker,DNS服务器解析的顶级域名
  • DNS_IP:默认 127.0.0.1,DNS解析目标IP

OS X系统部署

  1. 获取Docker VM IP:

    • docker-machine:docker-machine ip <machine_name>
    • Docker for Mac:使用 127.0.0.1
  2. 启动代理容器:

bash
docker run -d --restart=always \
  -v /var/run/docker.sock:/tmp/docker.sock:ro \
  -v ~/.dinghy/certs:/etc/nginx/certs \
  -p 80:80 -p 443:443 -p ***:***/udp \
  -e DNS_IP=<vm_ip> -e CONTAINER_NAME=http-proxy \
  --name http-proxy \
  codekitchen/dinghy-http-proxy
  1. 配置DNS解析:创建 /etc/resolver/docker 文件(需先创建 /etc/resolver 目录):
nameserver <vm_ip>
port ***

Linux系统部署

直接在Linux主机运行Docker时:

bash
docker run -d --restart=always \
  -v /var/run/docker.sock:/tmp/docker.sock:ro \
  -v ~/.dinghy/certs:/etc/nginx/certs \
  -p 80:80 -p 443:443 -p ***:***/udp \
  -e CONTAINER_NAME=http-proxy \
  --name http-proxy \
  codekitchen/dinghy-http-proxy

DNS配置需根据Linux发行版调整,可参考 Dory 项目。

Windows系统部署

Docker for Windows使用 127.0.0.1 作为DNS IP:

Powershell命令

powershell
docker run -d --restart=always `
  -v /var/run/docker.sock:/tmp/docker.sock:ro `
  -p 80:80 -p 443:443 -p ***:***/udp `
  -e CONTAINER_NAME=http-proxy `
  -e DNS_IP=127.0.0.1 `
  --name http-proxy `
  codekitchen/dinghy-http-proxy

docker-compose配置

yaml
version: '2'
services:
  http-proxy:
    container_name: http-proxy
    image: codekitchen/dinghy-http-proxy
    environment:
      - DNS_IP=127.0.0.1
      - CONTAINER_NAME=http-proxy
    ports:
      - "80:80"
      - "443:443"
      - "***:***/udp"
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro

需手动添加主机到 C:\Windows\System32\drivers\etc\hosts,可使用Powershell脚本辅助管理(如 Carbon 或 相关Gist)。

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker加速体验非常流畅,大镜像也能快速完成下载。"