构建 Docker 镜像并上传
276 字小于 1 分钟
本文介绍如何在流水线中构建 Docker 镜像并推送至制品库。
上传镜像
CNB 流水线内置触发者的访问凭据,可直接登录 CNB Docker 制品库并推送镜像。 如需推送至第三方仓库,增加 imports 导入凭据和 docker login 步骤即可。
上传到 CNB 制品库
.cnb.yml
main:
push:
- services:
- docker
stages:
- name: set docker tag
script: echo -n "${CNB_DOCKER_REGISTRY}/${CNB_REPO_SLUG_LOWERCASE}:latest"
exports:
info: IMAGE_TAG
- name: docker build
script: docker build -t $IMAGE_TAG .
- name: push image
script: docker push $IMAGE_TAG上传到第三方制品库
.cnb.yml
main:
push:
- services:
- docker
imports: https://cnb.cool/<your-repo-slug>/-/blob/main/xxx/docker-envs.yml
stages:
- name: docker login
script: echo "${DOCKER_PWD}" | docker login -u ${DOCKER_USER} --password-stdin ${DOCKER_REGISTRY}
- name: set docker tag
script: echo -n "${DOCKER_REGISTRY}/${DOCKER_GROUP}/${DOCKER_REPO_NAME}:$CNB_COMMIT_SHORT"
exports:
info: IMAGE_TAG
- name: docker build
script: docker build -t $IMAGE_TAG .
- name: push image
script: docker push $IMAGE_TAG其中 docker-envs.yml 文件内容:
DOCKER_USER: user
DOCKER_PWD: password
DOCKER_REGISTRY: docker.io
DOCKER_GROUP: group_name
DOCKER_REPO_NAME: repo_name