
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Update automatically your /etc/hosts to access running containers.
Inspired by vagrant-hostmanager.
Project homepage: https://github.com/iamluc/docker-hostmanager
Linux
The easiest way is to use the docker image
console$ docker run -d --name docker-hostmanager --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /etc/hosts:/hosts iamluc/docker-hostmanager
Note: the --restart=always option will make the container start automatically with your computer (recommended).
Mac OS
Download the PHAR executable here : https://github.com/iamluc/docker-hostmanager/releases
And then run it:
console$ sudo php docker-hostmanager.phar synchronize-hosts
Note: We run the command as root as we need the permission to write file /etc/hosts.
If you don't want to run the command as root, grant the correct permission to you user.
Before running the command, don't forget to export your docker environment variables. i.e.
$ eval $(docker-machine env mybox)
Also, you should add a route to access containers inside your VM.
$ sudo route -n add 172.0.0.0/8 $(docker-machine ip $(docker-machine active))
Windows
If the host, dont use Docker ToolBox or not a Windows 10 PRO, then needs to mount the /c/Windows folder onto VirtualBox.
console$ docker run -d --name docker-hostmanager --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /c/Windows/System32/drivers/etc/hosts:/hosts iamluc/docker-hostmanager
After run the container we need to add a route to access container subnets.
$ route /P add 172.17.0.0/12 192.168.99.100
With networks
When a container belongs to at least one network (typically when using a docker-compose.yml file in version >= 2), the name defined to access the container is CONTAINER_NAME.CONTAINER_NETWORK. It works also with the alias defined for the network.
As a container can belongs to several networks at the same time, and thanks to alias, you can define how you want to access your container.
Example 1 (default network):
yamlversion: '2' services: web: image: iamluc/symfony volumes: - .:/var/www/html
The container web will be accessible with web.myapp_default (if the docker-compose project name is myapp)
Example 2 (custom network name and alias):
yamlversion: '3.5' networks: default: name: myapp services: web: image: iamluc/symfony volumes: - .:/var/www/html mysql: image: mysql networks: default: aliases: - bdd
The web container will be accessible with web.myapp.
The mysql container will be accessible with mysql.myapp or bdd.myapp
Without networks
When a container has no defined network (only the default "bridge" one), it is accessible by its container name, concatened with the defined TLD (.docker by default).
It is the case when you run a single container with the docker command or when you use a docker-compose.yml file in version 1.
The DOMAIN_NAME environment variable lets you define additional hosts for your container.
e.g.:
$ docker run -d -e DOMAIN_NAME=test.com,www.test.com my_image
To run test, execute the following command : vendor/bin/phpunit
https://opensource.org/licenses/MIT
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务