Docker 映像未通过 gitlab 在 Azure 容器注册表上更新

问题描述 投票:0回答:1

我的 docker 镜像有问题,这些镜像是通过 gitlab 上传到 Azure 容器注册表的,但它们似乎没有更新当前代码,但它们在本地工作。

我的 .gitlab-ci.yml 文件可能有什么问题?

image:
  name: docker/compose:1.25.4
  entrypoint: [""]

services:
  - docker:dind

variables:
  DOCKER_HOST: tcp://docker:2375
  DOCKER_DRIVER: overlay2

stages:
  - develop

build-dev:
  stage: develop
  before_script:
    - export IMAGE=$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME
    - apk add --no-cache --upgrade bash
  script:
    - apk add --no-cache bash
    - chmod +x ./setup_env.sh
    - bash ./setup_env.sh
    - docker login $AZ_REGISTRY_IMAGE -u $AZ_USERNAME_REGISTRY -p $AZ_PASSWORD_REGISTRY
    - docker pull $AZ_REGISTRY_IMAGE/proj:tag || true
    - docker-compose build --no-cache
    - docker tag $AZ_REGISTRY_IMAGE/proj:tag $AZ_REGISTRY_IMAGE/pixsar:$(date +%Y%m%d%H%M)
    - docker push $AZ_REGISTRY_IMAGE/proj:$(date +%Y%m%d%H%M)
    - docker system prune -af
  only:
    - develop
    - fix-docker-1
azure docker gitlab azure-container-registry
1个回答
0
投票

这对我有用。

  • 注意:- 如果您使用
    docker-compose
    version 1
    ,您将收到警告,但不会收到错误,并且也不会构建新的更新映像。
  • 确保在 gitlab 管道中没有收到错误
  • 作为参考,请检查此文档

我拉取了一个

nginx
图像并推送到azure容器注册表

.gitlab-ci.yml
:

docker-build:
 # Use the official docker image.
 image:  docker:cli
 stage:  build
 services:
 -  docker:dind

 script:
 -  docker  pull  nginx
 -  docker  login  vshandilyaacr.azurecr.io  -u  vshandilyaacr  -p  xxxxxxxxxxxxxx
 -  docker  tag  nginx  vshandilyaacr.azurecr.io/azuregitlab:docker
 -  docker  push  vshandilyaacr.azurecr.io/azuregitlab:docker

 rules:
 -  if:  $CI_COMMIT_BRANCH
 exists:
 -  Dockerfile

OUTPUT

© www.soinside.com 2019 - 2024. All rights reserved.