---
url: /en/artifact/docker-model.md
---
## Login to CNB Docker Model Artifact Registry

You can use CNB access token as login credentials. For how to get `CNB_TOKEN`, please refer to [Creating an Access Token](./intro.md#creating-an-access-token). Login command:

```bash
docker login -u cnb -p <YOUR_TOKEN> docker-model.cnb.share.ralphlauren.cn
```

## Docker Model Artifact Path Rules

When publishing artifacts to a repository, two naming rules are supported:

1. Same-name artifacts - Artifact path matches repository path, e.g.: `docker-model.cnb.share.ralphlauren.cn/${CNB_REPO_SLUG_LOWERCASE}`
2. Different-name artifacts - Repository path serves as namespace for artifacts, artifact path = repository path/artifact name, e.g.: `docker-model.cnb.share.ralphlauren.cn/${CNB_REPO_SLUG_LOWERCASE}/<IMAGE_NAME>`

## Pushing Artifacts

### Push from Local Command Line

Same-name artifacts

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

Different-name artifacts

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

### Push in Cloud Native Build

```yaml title=".cnb.yml"
main:
  push:
    - services:
        - docker
      stages:
        # Same-name artifacts build & push
        - name: docker model package & push
          script: docker model package --gguf <path> --push ${CNB_DOCKER_MODEL_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:<tag>
        # Different-name artifacts build & push
        - name: docker model package & push
          script: docker model package --gguf <path> --push ${CNB_DOCKER_MODEL_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}/<IMAGE_NAME>:<tag>
```

### Push in Workspaces

Same-name artifacts

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

Different-name artifacts

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

## Using Artifacts

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

# ...
```
