Tag: jenkins

在jenkins中,docker-compose mysql 0mERROR 1396(HY000)在第一行:操作CREATE USER失败了'root'@'%'

我有一个docker-compose.yml,它设置了一个API服务,一个testingMYSQL数据库和一个java任务工作者应用程序。 然后我对本地堆栈运行API集成testing。 每次运行它时,我都会执行docker-compose rm -v来确保我的数据库对于每次testing都是一样的。 在本地,我的docker-compose文件正确设置了我的图像。 在jenkins,使用相同的docker-compose文件,我得到了上面的错误,在这里复制: 0mERROR 1396 (HY000) at line 1: Operation CREATE USER failed for 'root'@'%' 它似乎可能会与图像的主机名进行。 这是我的数据库设置的Dockerfile: FROM mysql ENV MYSQL_DATABASE="db_name" ENV MYSQL_USER="user" ENV MYSQL_PASSWORD="password1" ENV MYSQL_ROOT_PASSWORD="password" COPY *.sql /docker-entrypoint-initdb.d/ EXPOSE 3306 这是我的docker-compose.yml: web-api: image: registry/api-repo links: – test-db ports: – "8625:8625" environment: – MYSQL_DATABASE=db_name – MYSQL_HOST=test-db – MYSQL_USER=user – MYSQL_PASSWORD=password1 […]

将Docker镜像构build并发布到Nexus3

新来nexus ..我们正试图自动化构build过程(构builddocker图像,并将其发布到Nexus3存储库)。我的要求是,我有一个使用docker build -t <imagename>:<version> .的图像docker build -t <imagename>:<version> . 现在我想用Jenkins将这个docker映像发布到nexus repo。 我有一个nexus回购和jenkins作业configuration了dockermaven插件也我提供了docker:push maven目标..不知道现在如何推? 我是否需要使用docker push <imagename>:<version>使用shell脚本,或者在Jenkins CI作业中必须提及哪些步骤。 请帮帮我..

如何使用除root以外的其他用户从容器访问docker守护进程

我正在尝试运行构builddocker镜像的Jenkins容器。 我上个星期就开始使用docker,而且我对使用主机的卷以及用户的处理方式有些困惑。 我一直在互联网上search,我发现一个git问题是有人发布了一个解决scheme,从容器中访问docker守护进程。 基本上,这个想法是在Jenkins容器中docker.sock包含docker.sock bin文件夹和来自主机的docker.sock的卷,如下所示: volumes: – /var/run/docker.sock:/var/run/docker.sock – /usr/local/bin/docker:/usr/local/bin/docker 我已经完成了这个工作,但只有当我是根。 当我开始学习docker的时候,我在博客中关注了这个例子,作者不是直接使用jenkins镜像,而是从jenkins镜像本身及其依赖关系中复制了Dockerfiles来解释这个过程。 作为这个过程的一部分,一个jenkins用户被创build,并且它是在启动容器时使用的。 我现在的问题是,我不能让jenkins用户有权访问docker.sock因为它属于root和组中的docker.sock 。 我试图在Dockerfile中添加用户docker,但是在访问docker.sock时,仍然从Jenkins作业中获得了权限被拒绝的错误。 如果我检查在容器中挂载的/var/run/docker.sock ,我可以看到, docker.sock属于组user而不是docker.sock ,所以我不知道挂载目录时到底发生了什么。 我没有用Linux的工作太多,所以我的猜测是用户docker不存在,当目录被挂载,然后它使用默认的user但我可能是完全错误的。 另一件我仍然没有得到的是,如果我创build一个专门用作Jenkins容器的容器,并且没有别的东西应该在那里运行,那么创build特定jenkins用户的目的是什么? 有没有什么原因,我不能直接使用用户的root ? 这是我使用的Dockerfile。 谢谢。 FROM centos:7 # Yum workaround to stalled mirror RUN sed -i -e 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/fastestmirror.conf RUN rm -f /var/lib/rpm/__* RUN rpm –rebuilddb -v -v RUN yum clean all # see […]

由于GCE上的docker工人,Jenkins造成失败

我有点困惑。 jenkinsist给我这个输出: 自从我使用标准的GCE优化操作系统以来,Docker是绝对安装的。 我select了与GitHub一起构build的multithreading。 请有人提醒我一个方向?

如何调整/排除/优化AWS上的Docker块I / O

我有以下docker容器,我已经设置了testing我的Web应用程序: jenkins Apache 1(服务laravel应用程序) Apache 2(服务遗留代码的应用程序) MySQL(由Apache 1和Apache 2访问) seleniumHUB selenium节点 – ChromeDriver jenkins作业在Apache 1上运行behat命令,后者又连接到Selenium Hub,Selenium Hub有一个ChromeDriver节点,实际上可以击中两个应用程序: Apache 1和Apache 2 。 整个系统使用AWS linux在EC2 t2.small实例(1核,2GB RAM)上运行。 问题 我现在遇到的问题是,如果我多次运行pipe道,前几次运行得很好(这个阶段大约需要20秒),但是在第三次和连续的运行中,behat阶段开始减速(以1分30秒)然后在3米或10米之后失败,或者每当我失去耐心的时候。 如果我重新启动docker集装箱,它再次工作,但只有另外2-4运行。 线索 每次运行jenkinspipe道时监控docker docker stats ,我注意到block I / O,特别是'I'在前几次运行后呈指数级增长。 例如,运行1之后 运行2之后 运行3后 运行4后 对于chromedriver容器的块I / O是21GB和驱动程序挂起。 虽然我可能期望块I / O增长,但我不希望它看起来像指数增长 。 这就像是爆炸。 相同的dockerconfiguration(使用docker-compose )每次在我的个人MacBook Pro上运行完美。 块I / O不会“爆炸”。 我限制Docker只使用1个内核和2GB的RAM。 […]

Jmeter Jenkins的docker集装箱在一段时间后停止

我正在尝试将Jenkins和Jmeter集成到Docker中。 为此,我正在使用官方的Jenkins泊坞窗文件。 我在jenkins工作,启动了Jmeter的执行。 一切正常。 但一段时间后,jenkins服务器停止(以及docker集装箱)。 docker日志只显示 "INFO: JVM is terminating. Shutting down Winstone". docker版本 – 17.04.0 CE,Jmeter版本 – 3.1和Jenkins – 2.46.1 不知道为什么JVM终止。 需要帮忙。

无法在运行泊坞窗镜像时find设置docker工作区选项的选项

我已经在jenkins中安装了docker构build步骤插件。 使用该插件尝试使用maven图像编译java应用程序。 在docker构build步骤选项中,我无法find设置工作目录的选项。 docker run -v /usr/src:/work -w /work maven:latest mvn package 上面的命令在通过shell运行时工作正常。 同样的逻辑试图使用jenkins docker构build步骤插件进行存档。 我可以看到绑定的卷,但不能看到工作目录选项。 任何人都请build议

Jenkinsfiledocker工人

我在Docker容器内的GCE上运行jenkins实例,并想从这个Jenkinsfile和Github执行一个多分支pipe道。 我正在使用GCE jenkins教程。 这是我的Jenkinsfile node { def project = 'xxxxxx' def appName = 'gceme' def feSvcName = "${appName}-frontend" def imageTag = "eu.gcr.io/${project}/${appName}:${env.BRANCH_NAME}.${env.BUILD_NUMBER}" checkout scm sh("echo Build image") stage 'Build image' sh("docker build -t ${imageTag} .") sh("echo Run Go tests") stage 'Run Go tests' sh("docker run ${imageTag} go test") sh("echo Push image to registry") stage 'Push […]

Jenkinsfile无法运行多个参数的docker

在我的jenkinsfile中,我有这个 stage ('Build Docker') { steps { script { image1 = docker.build "docker1:${BRANCH_NAME}" } script { image2 = docker.build "docker2:${BRANCH_NAME}" } } } stage ('Run Docker Acceptance Tests') { steps { script { container1 = image1.run "-v /tmp/${BRANCH_NAME}:/var/lib/data" container1Id = container1.id container1IP = sh script: "docker inspect ${container1Id} | grep IPAddress | grep -v null| […]

由Jenkins构build的Django应用程序的Docker容器错误时间

我正在比较两个集装箱时间。 一个build立在我的本地机器上,另一个build立在Jenkins服务器上。 我附加到他们两个,并尝试这些命令: 第一 :Linux的datefunction。 相同的结果: Locally running container: Sat May 27 10:47:06 UTC 2017 Container running on Jenkins server: Sat May 27 10:47:28 UTC 2017 其次 : python shell。 相同的结果: Locally running container: '2017-05-27 10:59:40.005836' Container running on Jenkins server: '2017-05-27 10:59:35.567902' 第三 :Django shell( ./manage.py shell )中的datetime.now() )。 不同的结果: Locally running container: '2017-05-27 […]