Я пытаюсь использовать плагин docker на Jenkins для запуска экземпляра существующего контейнера. Docker версия 1.6.0, построить 4749651с помощью плагина docker на jenkins -
Я выбрал «создать контейнер» Введенный идентификатор изображения для имени изображения, и попробовал множество http://172.16.42.43:4243, а также попытался пустой узел. я получаю эту ошибку:
ERROR: Build step failed with exception
java.lang.NullPointerException: uri was not specified
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:204)
at com.github.dockerjava.core.DockerClientConfig$DockerClientConfigBuilder.withUri(DockerClientConfig.java:406)
at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder$DescriptorImpl.createDockerClient(DockerBuilder.java:123)
at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder$DescriptorImpl.getDockerClient(DockerBuilder.java:201)
at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder.perform(DockerBuilder.java:71)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
at hudson.model.Build$BuildExecution.build(Build.java:205)
at hudson.model.Build$BuildExecution.doRun(Build.java:162)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:537)
at hudson.model.Run.execute(Run.java:1744)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:374)
Build step 'Execute Docker container' marked build as failure
Может кто-нибудь сказать мне, как это исправить? Кроме того, если кто-либо использовал этот плагин раньше, пожалуйста, дайте мне знать, если это когда-либо срабатывало.
Также попробовал «Выполнить контейнер докеров» -> запустить контейнеры с указанным идентификатором контейнера, что привело к той же ошибке.
Другой подход: Я попытался с помощью Execute плагин оболочки в и я получаю эту ошибку:
+ docker start d023eec1ff34
Post http:///var/run/docker.sock/v1.18/containers/d023eec1ff34/start: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?
time="2015-05-05T10:26:34-07:00" level=fatal msg="Error: failed to start one or more containers"
Если я просто иду к терминалу, переключиться на пользователя Дженкинс и запустить докер команду запуска, он отлично работает. Если кто-то знает, как это исправить, это тоже здорово.
докер версия? Проверьте журналы докеров (это может быть в /var/log/docker.log или в /var/log/upstart/docker.log, в зависимости от вашей ОС), а также попытайтесь запустить демон Docker в режиме отладки. см. --debug = true docs.docker.com/reference/commandline/cli/#daemon – user2915097
Может быть, извлечение из http://serverfault.com/questions/639459/why-might-the-jenkins-user-not -have-permission-to-access-the-docker-unix-socket0 \t Я думаю, что предоставление привилегий группе jenkins для док-станции unix разрешает проблему. Это можно изменить, настроив параметры запуска демона-демона в файле конфигурации, добавив эту строку DOCKER_OPTS = '-G jenkins' В ubuntu/etc/default/docker находится файл конфигурации докера. – user2915097
Я попытался добавить это к дефолту дженкинсов. Кроме того, я попытался добавить пользователя jenkins в группу докеров. Я сделал это на двух машинах без везения. – max