Tag: circleci

将Docker映像推送到Google Containerregistry时,导致身份validation错误的原因是什么?

我正在尝试按照他们的指示将Docker镜像从CircleCI构build推送到Google Container Registry。 但是,由于明显的authentication错误,推送到GCR失败: Using 'push eu.gcr.io/realtimemusic-147914/realtimemusic-test/realtimemusic-test' for DOCKER_ARGS. The push refers to a repository [eu.gcr.io/realtimemusic-147914/realtimemusic-test/realtimemusic-test] (len: 1) Post https://eu.gcr.io/v2/realtimemusic-147914/realtimemusic-test/realtimemusic-test/blobs/uploads/: token auth attempt for registry: https://eu.gcr.io/v2/token?account=oauth2accesstoken&scope=repository%3Arealtimemusic-147914%2Frealtimemusic-test%2Frealtimemusic-test%3Apush%2Cpull&service=eu.gcr.io request failed with status: 403 Forbidden 我之前推动Docker镜像对Google云服务帐户进行身份validation: echo $GCLOUD_KEY | base64 –decode > ${HOME}/client-secret.json gcloud auth activate-service-account –key-file ${HOME}/client-secret.json gcloud config set project $GCLOUD_PROJECT_ID 然后,我build立图像,并将其推送到GCR: docker build -t $EXTERNAL_REGISTRY_ENDPOINT/realtimemusic-test […]

有没有办法得到bazel沙盒目录时不支持沙盒?

我在一个docker集装箱里面运行着bazel。 在本地,当我运行没有标志bazel时,我得到以下警告: 警告:您的系统不支持沙箱执行,因此无法保证操作的密封性。 有关更多信息,请参阅http://bazel.build/docs/bazel-user-manual.html#sandboxing 。 您可以通过–ignore_unsupported_sandboxingclosures此警告。 虽然我失去了一些关于气密性的保证,但是在运行我的任何一个genrules之前,Bazel仍然创build了所有的沙箱目录。 然而,在CI中,我没有看到这个警告,而是在尝试沙箱时遇到失败。 所以我通过了–genrule_strategy=standalone来停止崩溃,但是现在我的genrules正在工作区中执行,我绝对不想这样做。 有没有办法让我得到我在本地看到的行为,显式沙盒调用被禁用,因为他们会失败,但正确复制srcs / deps /数据正确的tmp目录创build仍然发生? 要么我可以通过一个标志触发这种行为,或者我可以做的事情,我的系统说服bazel沙盒不支持呢?

dynamic获取由docker-compose创build的正在运行的容器名称

当我运行我的docker-compose时,它会创build一个web容器和postgres容器。 我想手动触发我的Djangotesting运行,通过类似的东西 docker-compose run web python manage.py test 问题在于它创build了一个新的容器(需要应用新的迁移,家务pipe理等) 我倾向于select类似的选项 docker exec -i -t <containerid> python manage.py test 这引入了一个新问题,那就是我必须先运行docker ps来获取容器名称。 这一切的重点是自动运行每个版本的testing,所以它必须自动化,手动运行docker ps不是一个解决scheme。 那么有没有办法dynamic获取容器ID还是有更好的方法来做到这一点? 如果您可以在docker-compose中分配容器名称,这不会成为问题

使用docker-compose以持久存储运行Redis

我如何告诉CircleCI和docker-compose使用持久存储来运行Redis? 我期望看到像docker run -d -p 6379:6379–name redis dockerfile/redis在circle.yml中,我可以添加-v <data-dir>:/data到,但我只看到redis services:在circle.yml中: machine: services: – redis node: version: 6.3.0 python: version: 3.5.2 # …deployment commands follow, but no redis

CircleCI:configuration在gcp上托pipe的Docker容器的testing

我正在使用CircleCIbuild立一个持续部署stream程,以Google Container Engine为目标。 除了这个例子 ,我正在关注这个文档 。 我在这个阶段陷入困境: test: post: – docker run -d -p 3000:3000 -e "SECRET_KEY_BASE=${SECRET_KEY}" eu.gcr.io/${PROJECT_NAME}/${MAIN_CONTAINER_NAME}:latest; sleep 10 – curl –retry 10 –retry-delay 5 -v http://localhost:3000 这是一个简单的testing,validation我的泊坞窗图像能够回答一个http请求。 curl后我得到这个结果: * Rebuilt URL to: http://localhost:3000/ * Hostname was NOT found in DNS cache * Trying 127.0.0.1… * connect to 127.0.0.1 port 3000 failed: Connection refused […]

在不同的环境下运行docker-build不一致

本地一切运行平稳完美: Mac OS 10.11.6 Docker 17.03.1-ce-mac12 在CircleCI上,远程的情况有所不同: Ubuntu 14.04 Docker版本1.9.1-circleci-cp-workaround 我正在使用CircleCI 1.0,我简单地尝试过使用CircleCI 2.0 我的Dockerfile看起来非常相似: FROM pensiero/apache-php # Mostly Ubuntu 16.04 install with some php and node / npm # RUN apt-get install a few packages COPY . /var/www WORKDIR /var/www RUN ["npm","install"] # or RUN npm install 然后,混乱被释放,所有的幸福消失: npm WARN deprecated bower@1.8.0: ..psst! While Bower […]

Docker和CircleCI 2.0的高uid错误问题

我正在努力与Circle Cibuild立持续的整合stream程。 当我把我的代码推到github上时,stream程开始了,但是停止了这个错误: Build-agent version 0.0.4071-34fe4dc (2017-09-05T01:33:40+0000) Starting container micheleminno/elasticsearch:latest image cache not found on this host, downloading micheleminno/elasticsearch:latest latest: Pulling from micheleminno/elasticsearch 42a816b9ad19: Pull complete 5dabff016c33: Pull complete e22082c539e8: Pull complete 57845aa0da23: Pull complete 3da62a3688f0: Pull complete bce992ca3d80: Pull complete 2734c785c0d8: Pull complete 08cbf6dbba97: Pull complete 750b60032fcc: Pull complete Digest: sha256:f07025f1da82ea87e70cac194929953a245ae4560086471c90b1756693246ec4 Status: Downloaded newer […]

将Docker部署到AWS Elastic Beanstalk – 如何将端口转发到主机? (端口绑定)

我有一个使用CircleCI设置的项目,用于自动部署到Elastic Beanstalk 。 我的EBS环境是一个容器,自动缩放,networking环境。 我试图运行一个服务,监听原始套接字端口8080。 我的Dockerfile: FROM golang:1.4.2 … EXPOSE 8080 我的Dockerrun.aws.json.template: { "AWSEBDockerrunVersion": "1", "Authentication": { "Bucket": "<bucket>", "Key": "<key>" }, "Image": { "Name": "project/hello:<TAG>", "Update": "true" }, "Ports": [ { "ContainerPort": "8080" } ] } 我已经确保在分配给我的项目环境的“angular色”上公开端口8080。 我使用了上面链接的CircleCI教程中的确切部署脚本(除了更改后的名称)。 在运行我的EBS应用程序的EC2实例中,我可以看到Docker容器已经成功运行,只是Docker没有将公开的端口转发到主机容器。 当我运行docker run ….没有-P标志的时候,我遇到了这个问题。 以下是SSH进入计算机后的示例会话: [ec2-user@ip-xxx-xx-xx-xx ~]$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS […]

在circleCI上运行docker-containertesting

我为我的开源代码创build了一些集成testing,我正在寻找一个可公开访问的CI服务来承载它们。 由于Travis-CI对我所有的容器都有小配额,我想我会用CircleCI。 这是我的cirle.yml : machine: services: – docker dependencies: override: – pip install docker-compose test: override: – cd integration-tests && docker-compose run –rm runner 然而,运行后,我得到错误消息“客户端和服务器没有相同的版本(客户端:1.18,服务器:1.16)”我的问题是什么?

CircleCI'./docker-compose.yml'服务'版本'没有任何configuration选项

相关但不重复 : Docker – docker-compose'version'没有任何configuration选项 我目前正在使用以下circle.yml的v2 docker-compose.yml circle.yml : machine: services: – docker test: post: – docker build –rm=false -t zurfyx/repo:$CIRCLE_SHA1 . – docker-compose run web npm test deployment: hub: branch: master commands: – docker login -e $DOCKER_EMAIL -u $DOCKER_USER -p $DOCKER_PASS – docker push zurfyx/repo:$CIRCLE_SHA1 CircleCI提供以下输出: docker-compose run web npm test ERROR: In file […]