我创建了一个自定义docker镜像,如下所示,并将其推送到自定义repo:
# Use php as parent image
FROM ruby:2.4-slim
# Install core prerequisites
RUN apt-get update && apt-get install -y php5.6 python-pip python-dev build-essential zip software-properties-common wget
# Install awscli
RUN pip install awscli
然后我将这个自定义图像添加到我的bitbucket-pipelines.yml中,如下所示:
image:
name: xxx/adzooma-ruby:v1
username: $DOCKER_HUB_USERNAME
password: $DOCKER_HUB_PASSWORD
pipelines:
tags:
release-*:
- step:
script:
- wget https://wordpress.org/latest.tar.gz
...
我的管道在运行时立即失败,原因如下:
+ wget https://wordpress.org/latest.tar.gz
bash: wget: command not found
这种情况让我觉得实际上我的docker镜像根本没有被使用,因为我在图像中明确地安装了 wget - 所以我的管道语法是正确的还是我错过了这里的一步?
2 回答
我和你的问题几乎一样 . 我的问题的原因是,docker容器注册表以某种方式无法捕获我本地构建docker镜像上的更改 . 为了解决这个问题,我在本地计算机和私有docker容器注册表中删除了图像 . Rebuild和Repush解决了我的问题 . 也许这对你也有用 .
您还必须定义电子邮件地址 .
见:https://confluence.atlassian.com/bitbucket/use-docker-images-as-build-environments-792298897.html