GitlabCI运行docker审查应用程序

我有几个具有类似要求的PHP应用程序,dockerized gitlab亚军和一个泊坞窗图像为我的应用程序。

什么是自动启动审查应用程序的最佳解决scheme?

我开始与连接docker.sock亚军和additionaly增加了我的项目/ home / devenv /跑步者附加在gitlab亚军config.toml:

[runners.docker] tls_verify = false image = "docker:latest" privileged = true disable_cache = false volumes = ["/cache", "/home/devenv:/home/devenv"] 

testing和构build工作正常,使用图像:myrepo.com/group/image in .gitlab-ci.yml

然后我的部署部分失败,错误。 部署部分:

 deploy to review: image: docker:latest services: - docker:dind stage: deploy script: - rm -rf /home/devenv/$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME - mkdir /home/devenv/$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME - cp -r ./* /home/devenv/$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME/ - docker stop $CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME - docker rm $CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME - docker run -d --env ENDLESS_RUN="1" --env VIRTUAL_HOST="$CI_BUILD_REF_NAME.$CI_PROJECT_NAME.$CI_PROJECT_NAMESPACE.e.mydomain.com" --name "$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME" -v /home/devenv/$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME/httpdocs:/home/web/httpdocs -v /home/devenv/$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME/logs:/var/logs myrepo.com/group/image - docker exec $CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME cd /home/httpdocs/ && npm install && bower install && gulp build environment: name: review/$CI_BUILD_REF_NAME url: http://$CI_BUILD_REF_NAME.$CI_PROJECT_NAME.$CI_PROJECT_NAMESPACE.e.mydomain.com only: - branches except: - master 

运行命令错误:

 $ docker run -d --env ENDLESS_RUN="1" --env VIRTUAL_HOST="$CI_BUILD_REF_NAME.$CI_PROJECT_NAME.$CI_PROJECT_NAMESPACE.e.mydomain.com" --name "$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME" -v /home/devenv/$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME/httpdocs:/home/bitrix/www -v /home/devenv/$CI_PROJECT_NAMESPACE-$CI_PROJECT_NAME-$CI_BUILD_REF_NAME/logs:/var/logs myrepo.com/group/image Unable to find image 'myrepo.com/group/image:latest' locally latest: Pulling from group/image 90577c79babf: Pulling fs layer a74e2caa985d: Pulling fs layer 8729c6ccfcfb: Pulling fs layer f160b3e340fb: Pulling fs layer 9c19c344e2fa: Pulling fs layer 74a07af12073: Pulling fs layer ... ... Status: Downloaded newer image for myrepo.com/group/image:latest docker: An error occurred trying to connect: Post http://docker:2375/v1.24/containers/create?name=olimpia-iam-master: EOF. See 'docker run --help'. ERROR: Build failed: exit code 125 

DIND不允许将容器从一个容器装入另一个容器。 对于你想要做的事情,你将不得不与容器共享主机docker服务