
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!Ocelot
Ocelot is a .NET API Gateway. For more information on the product, you should head over to their repository on https://github.com/ThreeMammals/Ocelot or check out the product's documentation.
This docker image is provided for development purposes; it is built on .NET Core 2.1 and uses Consul for Service Discovery and Configuration by default.
It is assumed that you have a consul instance or docker container running on your localhost, accessible on port 8500. If you don't, check out tools/support-consul.sh in this repository to start a local docker container on your machine or see the section on Installing Consul.
To start the container using defaults:
docker run --rm -d -p 10443:443/tcp -p 10080:80/tcp thinkco/ocelot
You can check Consul on http://localhost:8500/ui/dc1/kv to see and edit the Ocelot configuration. The gateway is running on http port *** (http://localhost:10080/) and on https port *** (https://localhost:10443/). You can customize the ports bindings for your local environment as needed.
To start the container using a specific Consul:
You can use environment variables CONSUL_HOST and CONSUL_PORT to have Ocelot use a Consul instance that is not running on localhost.
docker run --rm -d -p 10443:443/tcp -p 10080:80/tcp -e CONSUL_HOST="192.168.1.103" -e CONSUL_PORT="8500" thinkco/ocelot
You can customize the host and port for your local environment as needed. This has been tested in a local docker instance and in kubernetes, connecting to a Consul singleton and Consul HA cluster.
If Chrome is giving you a hard time using the self-signed certificate when using the gateway on https, then enable allow-insecure-localhost on your browser for development - open chrome://flags/#allow-insecure-localhost as a URI on Chrome itself and enable Allow invalid certificates for resources loaded from localhost. Or simply use Firefox. 😄
After development, you should really have NGINX, HAProxy, Apache, Envoy, or whatever, in front of this component dealing with https using proper certificates.
docker create -p 8500:8500 --name=consul-dev -h consul-dev consul agent -dev -ui -client=0.0.0.0 -bind='{{ GetPrivateIP }}'
brew install consul
You can then use brew services start consul and brew services stop consul to manage it as a background service. See on Brew site.
choco install consul
See on Chocolatey site.
All Environments - Refer to Consul installation and downloads page.
You'll need to have .NET Core 2.2 installed. All commands listed are relative to the repository root directory.
docker build --rm -f "Dockerfile" -t thinkco/ocelot:latest .
This will yield a docker container that you can start as described above.
To build:
docker build
To run using defaults:
docker run
To publish using defaults:
dotnet publish -c Release -r $target -o publish/$target
Where target can be any of win-x64 win-x86 win-arm win-arm64 linux-x64 linux-musl-x64 linux-arm osx-x64 and any platform with a dotnet Runtime Identifier.
A convenience bash script can be found in the root directory of the repository called publish.sh to publish for all known identifiers.
You can change the configuration to meet your needs by editing either root or published YAML files:
ocelot.yaml Runtime Ocelot configuration for Consul host and port settings.ocelot.Development.yaml Development Ocelot configuration for Consul host and port settings.appsettings.yaml Runtime configuration for Kestrel URLs.appsettings.Development.yaml Development configuration for Kestrel URLs.Enjoy!
Legal matter:
- All product names, logos, brands, trademarks and registered trademarks are property of their respective owners.
- All company, product and service names used in this website are for identification purposes only. Use of these names, trademarks and brands does not imply endorsement.
!ThinkCode
Built in 🇩🇪 with ♥️ by Carlos Lozano Diez / Gitlab / https://github.com/carloslozano / LinkedIn / https://hub.docker.com/u/thinkco
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务