This is the web console interface for Materialize.
Doc index
The specific versions of Node and Yarn are set for Volta in the package.json.
If you have another preferred version manager, please match the versions in the
engines section of the package.json.
bashcorepack enable yarn install yarn start open http://localhost:3000
This will run Console locally, pointing at our staging cloud resources. If a
yarn binary cannot be found after running corepack enable, you may need to
reshim your node version manager. https://github.com/volta-cli/volta/issues/987.
Clone the https://github.com/MaterializeInc/cloud as a sibling to the materialize repo. We rely on cloud for a few things:
redocly.yaml.See their https://github.com/MaterializeInc/cloud/blob/main/doc/developer.md for the most up to date instructions on working with the cloud repo.
Below is a quick start guide for our use of cloud.
Install rust with rustup:
shellcurl https://sh.rustup.rs -sSf | sh
Install Docker and make sure it's running: [***]
Install the aws-cli
Install some k8s utils:
shellbrew install kubectl@1.24 k9s kind
Run the commands below to configure your aws account and k8s contexts
shell# Installs dependencies and configures your python venv bin/rev-env # Setup your aws config. bin/mzadmin aws setup # Setup k8s contexts bin/mzadmin k8s setup
If you encounter the following error:
shellWARNING:botocore.credentials:Refreshing temporary credentials failed during mandatory refresh period...
login to Pulumi via bin/pulumi login.
There is no way to disable a region in the UI, so if you need to test the enable region flow, you will need to delete the environment via the api.
From the cloud repo, run:
bash# Generate a temporary aws auth token bin/mzadmin aws login # Materialize employees can see their org ID in the footer of the console bin/mzadmin environment delete --cluster staging-us-east-1 --organization $ID
Since we use Vite, our local development build is significantly different than the
production build, so it's sometimes useful to run a production build locally. First,
build the app with yarn build:local, and then run yarn preview to run a static
server, which just serves the /dist directory.
To generate TypeScript types from the Materialize system catalog tables:
yarn gen:types to fetch the latest emulator (materialized) and generate types using kysely-codegenyarn gen:types v0.148.0)We use vite-plugin-svgr to automatically turn simple SVG imports into Chakra Icon
components, which allows us to use dynamic colors and Chakra styling properties. To
ensure consistent naming and easy bundle splitting, all icons are exported from an icon
index file. To add a new icon, just drop the svg into the icon directory, then add an
export to icon/index.tsx.
Materialize Console has light and dark mode support. Some of the styling for this is implicit (based on Chakra's defaults). Other parts were customized to match Materialize's styles and color scheme. When styling, make sure that components look good in both modes. On Mac OS, you can toggle your color mode with System Preferences > General.
Chakra's theme docs live here. There are two methods by which we can customize our application's look and feel using Chakra:
App-wide styles and defaults in src/theme/
If your styling should apply to all instances of a built-in Chakra component,
across the board, it's best to modify the Chakra theme. Our custom color
palette is in theme/colors.ts, and imported and supplemented in
theme/index.ts. Customizations of reusable Chakra components live in
theme/components.ts, including setting default variant props. You can crib
off of the existing component styles there, and/or look up the
https://github.com/chakra-ui/chakra-ui/tree/main/packages/theme/src/components.
The Chakra docs for custom component theming, especially with dark mode in the
mix, are unfortunately not very thorough.
Component-specific styling with useColorMode and useColorModeValue
For one-off styles, especially to components that we built ourselves (that
aren't part of the Chakra system), you can use Chakra's useColorMode and
useColorModeValue hooks
to swap between colors or other styles. useColorModeValue is preferred for
singular values (e.g. a single color)--if you need a whole long complicated
string or are switching many different variables, useColorMode might make
more sense.
It is preferred to not create a custom component wrapping a Chakra component to add styles; this should happen in the aforementioned theme file instead.
On Mac, you can set your color mode in System Preferences > Settings. When
you change your color mode, the site will dynamically switch styles. This makes
it pretty easy to check how your new feature works in either style.
Static images live in img and use imports to get added to their
parent component. For SVGs where one wants to customize attributes such as fill
colors, however, importing will not work; in that case the SVG should get added
to src/svg as a React component wherein that customization (for
light/dark mode, or for reuse) can happen.
We use Prettier to format all files, enforced by eslint-plugin-prettier. Configure your editor to format files on save and you generally won't have to think much about formatting.
To automatically run ESLint on staged files before each commit, you can enable the pre-commit hook:
bash# From the materialize repo root: ln -s ../../console/misc/githooks/pre-commit .git/hooks/pre-commit
At Materialize is acceptable to put multiple components in the same file, when one is clearly consumed by another (and if, in your judgment, the file is not too ungainly or complex).
There are exceptions, such as the various pieces of our <Card>s, where a
component must be in multiple "lego blocks" that fit together. When this happens
the file name should reflect the fact (e.g. cardComponents.tsx rather than
Card.tsx).
Don't name components index.tsx (other than the root of the application, of course).
Name the props for your each component $ComponentProps, export it and put it
above the component that uses it.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务