Docker构建在Travis CI中失败-“错误检查上下文:'模式中的语法错误'”

时间:2018-08-17 05:36:36

标签: docker asp.net-core dockerfile travis-ci

我有一个.NET Core 2.1项目,在对它进行测试之后,我正在Travis CI中使用Docker构建该项目。 我认为travis构建的相关部分:

.travis.yml:

deploy:
  - provider: script
    script: ./deploy.sh $TRAVIS_TAG $DOCKER_USERNAME $DOCKER_PASSWORD
    skip_cleanup: true
    on:
      tags: true

deploy.sh:

#!/bin/bash
set -ev

TAG=$1
DOCKER_USERNAME=$2
DOCKER_PASSWORD=$3
echo "$TAG"
echo "$DOCKER_USERNAME"
echo "$DOCKER_PASSWORD"
docker build -t $DOCKER_USERNAME/rpthreadtrackerv3.backend .
docker login -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"
docker push $DOCKER_USERNAME/rpthreadtrackerv3.backend:latest

我还是Docker的新手,所以我可以肯定我做错了一些明显的事情,但是尽管如此,当构建中的deploy步骤运行时,输出为:

enter image description here

令人困惑的是,我很确定这可以工作一次然后停止工作。

还可以运行

docker build -t $DOCKER_USERNAME/rpthreadtrackerv3.backend .

从我的本地命令行正常工作。

Google完全不提这个错误消息的含义,世界上似乎没有人遇到过这个错误消息,但是我却对此感到困惑。导致docker build在Travis中失败的原因是什么?

1 个答案:

答案 0 :(得分:4)

对于那些好奇的人来说,这是系统告诉我在对.dockerignore文件中的项目进行正则表达式匹配时出错的方式(即该文件中存在语法错误-在这种情况下,我的文件路径上有反斜杠而不是正斜杠。漂亮而神秘;我必须仔细研究Docker源代码以了解正在发生的事情。

希望这可以帮助其他遇到相同问题的人! :)