---
url: /zh/artifact/docker-model.md
---
## 登录 CNB Docker Model 制品库

登录命令如下。如何获取 `CNB_TOKEN` 请参考[创建访问令牌](./intro.md#创建访问令牌)。

```bash
docker login -u cnb -p ${CNB_TOKEN} docker-model.cnb.share.ralphlauren.cn
```

## Docker Model 制品路径规则

制品在发布到某一仓库时，支持两种命名规则

1. 同名制品 - 制品路径与仓库路径一致，如：`docker-model.cnb.share.ralphlauren.cn/${CNB_REPO_SLUG_LOWERCASE}`
2. 非同名制品 - 仓库路径作为制品的命名空间，制品路径=仓库路径/制品名称，如：`docker-model.cnb.share.ralphlauren.cn/${CNB_REPO_SLUG_LOWERCASE}/<IMAGE_NAME>`

## 推送制品

### 本地命令行推送

同名制品

```bash
docker model package --gguf model_file_path --push docker-model.cnb.share.ralphlauren.cn/${CNB_REPO_SLUG_LOWERCASE}:latest
```

非同名制品

```bash
docker model package --gguf model_file_path --push docker-model.cnb.share.ralphlauren.cn/${CNB_REPO_SLUG_LOWERCASE}/<IMAGE_NAME>:latest
```

### 云原生构建中推送

```yaml title=".cnb.yml"
main:
  push:
    - services:
        - docker
      stages:
        # 同名镜像构建&推送
        - name: docker model package & push
          script: docker model package --gguf <path> --push ${CNB_DOCKER_MODEL_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:<tag>
        # 非同名镜像构建&推送
        - name: docker model package & push
          script: docker model package --gguf <path> --push ${CNB_DOCKER_MODEL_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/<IMAGE_NAME>:<tag>
```

### 云原生开发中推送

同名制品

```bash
docker model package --gguf model_file_path --push docker-model.cnb.share.ralphlauren.cn/${CNB_REPO_SLUG_LOWERCASE}:latest
```

非同名制品

```bash
docker model package --gguf model_file_path --push docker-model.cnb.share.ralphlauren.cn/${CNB_REPO_SLUG_LOWERCASE}/<IMAGE_NAME>:latest
```

## 使用制品

```bash
docker model pull docker-model.cnb.share.ralphlauren.cn/<ARTIFACT_PATH>:latest

# ...
```
