gpt4 book ai didi

jenkins - 在 jenkins 上使用 docker 插件 -

转载 作者:IT老高 更新时间:2023-10-28 12:43:57 26 4
gpt4 key购买 nike

我正在尝试使用 Jenkins 上的 docker 插件来运行现有容器的实例。Docker 版本 1.6.0,内部版本 4749651

我选择了“创建容器”输入图像ID作为图像名称,并尝试了主机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

谁能告诉我如何解决它?另外,如果有人以前使用过这个插件,请告诉我这是否有用。

还尝试了“执行 docker 容器”->使用指定的容器 id 启动容器,导致相同的错误。

另一种方法:我尝试使用 Execute shell 插件,但出现此错误:

+ 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"

如果我只是去终端,切换到 jenkins 用户并运行 docker start 命令,它工作正常。如果有人知道如何以这种方式解决它,那就太好了。

最佳答案

假设 Docker 在同一台机器上运行,请确保运行 Docker:

-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock

然后转到 Manage Jenkins > Configuration > Configure System 然后向下滚动到 Docker Builder 并在 Docker 服务器 REST url 中输入 http://localhost:4243

已编辑:我最初告诉 Docker 监听 0.0.0.0,它绑定(bind)到所有 IP 地址,如果您的防火墙允许流量通过,则可以允许来自外部的连接。所以我将它更新为绑定(bind)到环回地址。此外,当前版本的文档建议使用不同的端口,但由于您手动指定端口,因此任何端口都可以。

关于jenkins - 在 jenkins 上使用 docker 插件 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30046507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com