Docker 制品库

# 登录 CNB Docker 制品库

您可以使用 CNB 的访问令牌作为登录凭据,登录命令:

docker login docker.cnb.cool -u cnb -p {token-value}

# Docker 制品路径规则

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

  1. 同名制品 - 制品路径与仓库路径一致,如:docker.cnb.cool/{repository-path}
  2. 非同名制品 - 仓库路径作为制品的命名空间,制品路径=仓库路径/制品名称,如:docker.cnb.cool/{repository-path}/{artifact-name}

# 推送制品

# 本地命令行推送

同名制品

docker build -t docker.cnb.cool/{repository-path}:latest .
docker push docker.cnb.cool/{repository-path}:latest

非同名制品

docker build -t docker.cnb.cool/{repository-path}/{image-name}:latest .
docker push docker.cnb.cool/{repository-path}/{image-name}:latest

# 云原生构建中推送

main:
  push:
    - services:
        - docker
      stages:
        - name: docker login
          script: docker login -u ${CNB_TOKEN_USER_NAME} -p "${CNB_TOKEN}" ${CNB_DOCKER_REGISTRY}
        - name: docker build
          script: docker build -t ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest .
        - name: docker push
          script: docker push ${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest

# 云原生开发中推送

同名制品

docker build -t docker.cnb.cool/{repository-path}:latest .
docker push docker.cnb.cool/{repository-path}:latest

非同名制品

docker build -t docker.cnb.cool/{repository-path}/{image-name}:latest .
docker push docker.cnb.cool/{repository-path}/{image-name}:latest

# 使用制品

# 在命令行使用

docker pull docker.cnb.cool/{artifact-path}:latest

# ...

# 定制云原生构建环境




 




main:
  push:
    - docker:
        image: docker.cnb.cool/{artifact-path}:latest
      stages:
        - name: hello world
          script: echo "Hello World"

# 定制云原生开发环境




 




$:
  vscode:
    - docker:
        image: docker.cnb.cool/{artifact-path}:latest
      services:
        - vscode
        - docker

# 更多用法

更多 Docker 用法,请查阅官方文档