如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!Banner
https://meritbadge.herokuapp.com/wrangler](https://crates.io/crates/wrangler) https://dev.azure.com/ashleygwilliams/wrangler/_apis/build/status/cloudflare.wrangler?branchName=master](https://dev.azure.com/ashleygwilliams/wrangler/_build/latest?definitionId=1&branchName=master)
wrangler is a CLI tool designed for folks who are interested in using https://workers.cloudflare.com/.
!Wrangler Demo
create a directory if it doesn't already exist where you can mount the wrangler global config (if you plan on publishing to your own domain).
bashmkdir -p /Users/me/.wrangler/config
generate
Use the current directory to create a project called myproject (see generate command below for all options)
docker run --rm -ti -v /Users/me/.wrangler/config:/home/node/.wrangler/config -v $(pwd):/home/node/wrangler avatarnewyork/wrangler generate myproject
build / preview / publish
move into your project directory and run any of the other commands (see commands below for all options)
docker run --rm -ti -v /Users/me/.wrangler/config:/home/node/.wrangler/config -v $(pwd):/home/node/wrangler avatarnewyork/wrangler builddocker run --rm -ti -v /Users/me/.wrangler/config:/home/node/.wrangler/config -v $(pwd):/home/node/wrangler avatarnewyork/wrangler previewdocker run --rm -ti -v /Users/me/.wrangler/config:/home/node/.wrangler/config -v $(pwd):/home/node/wrangler avatarnewyork/wrangler publishYou have many options to install wrangler!
npmbashnpm i @cloudflare/wrangler -g
cargobashcargo install wrangler
If you don't have cargo or npm installed, you will need to follow these additional instructions
For more information on installation, click https://workers.cloudflare.com/docs/quickstart/cli-setup/.
For information regarding updating Wrangler, click https://workers.cloudflare.com/docs/quickstart/updating-the-cli/.
General documentation surrounding workers development and using wrangler can be found https://workers.cloudflare.com/docs. This documentation will be highly valuable to you when developing with wrangler.
generateScaffold a project, including boilerplate for a Rust library and a Cloudflare Worker. You can pass a name and template to this command optionally.
bashwrangler generate <name> <template> --type=["webpack", "javascript", "rust"]
All of the arguments and flags to this command are optional:
- name: defaults to worker
- template: defaults to the https://github.com/cloudflare/worker-template
- type: defaults to "webpack"
buildBuild your project. This command looks at your wrangler.toml file and runs the build steps associated
with the "type" declared there.
configConfigure your global Cloudflare user. This is an interactive command that will pro*** you for your email and API key:
bashwrangler config Enter email: testuser@example.com Enter api key: ...
You can also use environment variables to configure these values.
publishPublish your Worker to Cloudflare. This uses several keys in your wrangler.toml depending on whether
you are publishing to a workers.dev subdomain or your own domain, registered with Cloudflare.
bashwrangler publish
To use this command, you'll need to have the following keys in your wrangler.toml:
nametypeaccount_idYou'll also need to have a workers.dev subdomain registered. You can register a subdomain by using:
bashwrangler subdomain <name>
A --release can be optionally passed to publish your worker to a domain you have registered with
Cloudflare. To use --release your wrangler.toml must include:
nametypeaccount_idzone_idroutepreviewPreview your project using the Cloudflare Workers preview service.
By default, wrangler preview will only bundle your project a single time. To enable live preview,
where Wrangler will continually update the preview service with the newest version of your project,
pass the --watch flag:
bashwrangler preview --watch
You can optionally pass get or post and a body to this command. This will send a request to your
worker on the preview service and return the response in your terminal. For example:
GET requests can be sent with
bashwrangler preview
or
bashwrangler preview get
POST requests can be sent with
bashwrangler preview post hello=hello
There are two types of configuration that wrangler uses: global user and per project.
In Cloudflare's system, you have a User that can have multiple Accounts and Zones. As a result, your User
is configured globally on your machine. Your Account(s) and Zone(s) will be configured per project, but
will use your User credentials to authenticate all API calls. This config file is created in a .wrangler
directory in your computer's home directory.
To set up wrangler to work with your Cloudflare user, use the following commands:
config: a command that pro***s you to enter your email and api key.whoami: run this command to confirm that your configuration is appropriately set up.
When successful, this command will print out your user information, including the type of plan you
are currently on.Using environment variables
You can also configure your global user with environment variables. This is the preferred method for using Wrangler in CI:
bash# e.g. CF_API_KEY=superlongapikey CF_EMAIL=testuser@example.com wrangler publish --release # where # $CF_API_KEY -> your Cloudflare API key # $CF_EMAIL -> your Cloudflare account email
Your project will need to have several things configured before you can publish your worker. These values
are stored in a wrangler.toml file that wrangler generate will make for you. You will need to manually
edit this file to add these values before you can publish.
name: This is the name of your project. It will be the name of your script.
type: This key tells wrangler build how to build your project. There are currently 3 options, but we
expect there to be more as the community grows.
javascript: This project contains a single JavaScript file, defined in package.json's main key.rust: This project contains a Rust crate that uses wasm-bindgen. It will be built with wasm-pack.webpack: This project contains any number of JavaScript files or Rust/C/C++ files that compile to
WebAssembly. Rust files will be built with wasm-pack.
This project type uses webpack and webpack plugins in the background to build your worker.zone_id: This is the ID of the "zone" or domain you want to run your script on. This is optional if you
are using a workers.dev subdomain and is only required when workers_dot_dev is false, or excluded from an https://github.com/cloudflare/wrangler/blob/master/docs/environments.md.
account_id: This is the ID of the account associated with your zone. You might have more than one account,
so make sure to use the ID of the account associated with the zone_id you provide, if you provide one.
route: This is the route you'd like to use your worker on. You need to include the hostname. Examples:
*example.com/*http://example.com/helloThis key is optional if you are using a workers.dev subdomain and is only required when workers_dot_dev is false, or excluded from an https://github.com/cloudflare/wrangler/blob/master/docs/environments.md.
webpack_config: This is the path to the webpack configuration file for your worker. This is optional and
defaults to webpack.config.js
workers_dot_dev: This is an optional (but recommended due to impending deprecation of the --release flag boolean that specifies whether your worker should be deployed to <your-project>.<your-subdomain>.workers.dev. For more information, please read the https://github.com/cloudflare/wrangler/blob/master/docs/environments.md.
[[kv-namespaces]]: These specify any https://workers.cloudflare.com/docs/reference/storage/ namespaces you want to access from
inside your Worker. Each namespace you include should have an entry in your wrangler.toml that includes:
binding: the name you want to ***d to in your scriptid: the namespace_id assigned to your kv namespace upon creation.
e.g. (per namespace):toml[[kv-namespaces]] binding = "FOO" id = "0f2ac74b498b48028cb68387c421e279"
Note: Creating your KV Namespaces should be handled either via the https://workers.cloudflare.com/docs/reference/storage/writing-data/ or via your Cloudflare dashboard.
Additionally, you can configure Wrangler to publish to multiple environments. This means that your same codebase can be deployed to multiple places on your workers.dev subdomain, across multiple accounts, zones, and routes. Read more here.
Wrangler can be installed both through https://www.npmjs.com/get-npm and through Rust's package manager, https://github.com/rust-lang/cargo.
npmIf you don't already have npm on your machine, install it using https://www.npmjs.com/get-npm, a node.js version manager.
If you have already installed npm with a package manager, it is possible you will run into an EACCES error while installing wrangler. This is related to how many system packagers install npm. You can either uninstall npm and reinstall using the npm recommended install method (a version manager), or use one of our other install methods.
Install Wrangler by running:
bashnpm i @cloudflare/wrangler -g
cargoInstall cargo:
Rustup, a tool for installing Rust, will also install Cargo. On Linux and macOS systems, rustup can be installed as follows:
bashcurl https://sh.rustup.rs -sSf | sh
Additional installation methods are available https://forge.rust-lang.org/other-installation-methods.html.
Install wrangler:
bashcargo install wrangler
Installing wrangler on linux requires some OpenSSL-related packages to be installed. If you don't want to deal with this, you can use vendored OpenSSL.
bashcargo install wrangler --features vendored-openssl
Download the ***ary tarball for your platform from our https://github.com/cloudflare/wrangler/releases. You don't need to download wranglerjs, wrangler will install that for you.
Unpack the tarball and place the ***ary wrangler somewhere on your PATH, preferably /usr/local/bin for linux/macOS or Program Files for windows.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务