docker - 找不到指定的 Dockerfile:上下文/Dockerfile - Pipeline Bitbucket
问题描述
我正在尝试为我的 React 项目设置一个 bitbucket 管道。为此,我创建了一个 docker-compose 文件和一个 Dockerfile。
这是我的管道文件:
branches:
develop:
- step:
name: Dockerize
script:
- docker login $DOCKER_REGISTRY -u $DOCKER_REGISTRY_LOGIN -p $DOCKER_REGISTRY_PWD
- docker build -f context/Dockerfile -t $DOCKER_IMAGE_NAME --build-arg BASE_API_URL=$API_DEV_URL .
- docker tag $DOCKER_IMAGE_NAME $DOCKER_REGISTRY/$DOCKER_IMAGE_NAME:$BITBUCKET_COMMIT
- docker push $DOCKER_REGISTRY/$DOCKER_IMAGE_NAME:$BITBUCKET_COMMIT
services:
- docker
caches:
- docker
- step:
name: Deploy to dev
deployment: dev
script:
- ssh -p $SERVER_PORT $SERVER_USER@$SERVER rm -Rf $DOCKER_COMPOSE_DEV_PATH/*
- ssh -p $SERVER_PORT $SERVER_USER@$SERVER mkdir $DOCKER_COMPOSE_DEV_PATH/log
- scp -P $SERVER_PORT docker-compose.yml $SERVER_USER@$SERVER:$DOCKER_COMPOSE_DEV_PATH/
- ssh -p $SERVER_PORT $SERVER_USER@$SERVER docker pull $DOCKER_REGISTRY/$DOCKER_IMAGE_NAME:$BITBUCKET_COMMIT
- ssh -p $SERVER_PORT $SERVER_USER@$SERVER docker tag $DOCKER_REGISTRY/$DOCKER_IMAGE_NAME:$BITBUCKET_COMMIT $DOCKER_IMAGE_NAME:$BITBUCKET_COMMIT
- ssh -p $SERVER_PORT $SERVER_USER@$SERVER docker rmi $DOCKER_REGISTRY/$DOCKER_IMAGE_NAME:$BITBUCKET_COMMIT
- ssh -p $SERVER_PORT $SERVER_USER@$SERVER TAG=$BITBUCKET_COMMIT docker-compose -p container-name -f $DOCKER_COMPOSE_DEV_PATH/docker-compose.yml down
- ssh -p $SERVER_PORT $SERVER_USER@$SERVER TAG=$BITBUCKET_COMMIT docker-compose -p container-name -f $DOCKER_COMPOSE_DEV_PATH/docker-compose.yml up -d
options:
docker: true
这是我的 docker-compose 文件
version: '3'
services:
image_name:
image: repo/image_name:${TAG}
build:
context: .
dockerfile: context/Dockerfile
args:
- BASE_API_URL=${BASE_API_URL}
volumes:
- ./log:/var/log/nginx/
我的文件树如下
-app
|_ bitbucket-pipeline.yml
|_ docker-compose.yml
|_ context
|_ Dockerfile
从我阅读的内容来看,我没有看到我的 docker-compose 文件存在问题。我的上下文和 dockerfile 参考应该可以工作。但我最终Cannot locate specified Dockerfile: context/Dockerfile
在管道的最后一步出错(即运行 docker-compose up 命令时)
我不知道我应该改变什么才能让它工作。
解决方案
尝试这个:
docker build -f context/Dockerfile -t $DOCKER_IMAGE_NAME --build-arg BASE_API_URL=$API_DEV_URL ./context
推荐阅读
- qt - 是否有一个类似 QML 网格的控件可以附加到 QAbstractTableModel,我热衷于使用模型中的列,而不是角色
- scala - 如何将元素添加到流中
- reactjs - 嵌套类的 MaterialUI 主题样式
- angular - Firebase:按键查询?
- python - 字典python上的智能循环
- wix - Wix 工具集 - 主要升级 - 希望在主要升级时保持某些文件完整而不删除它们
- xml - 使用 XSLT 将日期格式化为日历年的第一天
- failover - ActiveMQ Artemis 故障回复在 2 节点 HA 设置中杀死从属
- java - Possible bug in Java 8 SimpleDateFormat?
- spring - @Cacheable 用于默认的 spring data jpa 方法而不覆盖它们