Docker相同的图像,但以不同的方式工作

时间:2017-02-16 09:58:02

标签: bash docker deployment bitbucket symfony

我需要为我的symfony项目创建一个带Bitbucket管道的部署系统。 如果要使用Pipeline,则需要使用docker镜像。 我以这种方式配置我的管道:

image: laraedit/laraedit

pipelines:
  branches:
    testing:
      - step:
          script:
              - rm -rf var/cache/
              - composer install
              - mkdir -p ~/.ssh
              - cat my_known_hosts >> ~/.ssh/known_hosts
              - (umask  077 ; echo $MY_SSH_KEY | base64 --decode > ~/.ssh/id_rsa)
              - cp app/config/parameters.yml.test.dist app/config/parameters.yml
              - chmod -R 777 var/
              - export TERM=xterm-256color
              - ./runtest.sh
              # - many other commands

当我推动分支testing管道时,启动并在./runtest.sh内部出现错误500(我可以检索,因为它是bitbucket的docker)。

在./runtest.sh里面有这个命令来启动我的应用程序的测试:

rm -rf var/cache/tests/
bin/console doctrine:database:drop --env=test
bin/console doctrine:database:create --env=test
bin/console doctrine:schema:update --force --env=test
bin/console doctrine:fixtures:load --no-interaction --env=test
./vendor/bin/phpunit

所以我检查了Bitbucket文档,我发现如何使用此命令在本地测试docker镜像:

docker run -it --volume=/Users/my_username/my_site/:/localDebugRepo --workdir="/localDebugRepo" --memory=4g --entrypoint=/bin/bash laraedit/laraedit

我在本地尝试过,当我使用bash进入docker镜像时,我已经将所有脚本命令写入管道内:

rm -rf var/cache/
composer install
mkdir -p ~/.ssh
cat my_known_hosts >> ~/.ssh/known_hosts
(umask  077 ; echo $MY_SSH_KEY | base64 --decode > ~/.ssh/id_rsa)
cp app/config/parameters.yml.test.dist app/config/parameters.yml
chmod -R 777 var/
export TERM=xterm-256color
./runtest.sh

魔法测试通过! 但是同样的Bitbucket docker图像,我预计./runtest.sh将被破坏以检查500内部错误服务器,但没有错误,./runtest.sh通过,并且在我的docker镜像本地内都是好的(相同的配置bitbucket docker image)。

如果docker图像相同,那么我的docker image local和Bitbucket docker image之间的差异是什么?

我需要检查为什么./runtest.sh中断,但它只在Bitbucket docker image中打破

0 个答案:

没有答案