【问题标题】:Docker Jenkins IntegrationDocker 詹金斯集成
【发布时间】:2016-04-04 09:00:37
【问题描述】:

我将 jenkins 部署为 docker 容器。创建了一个工作来构建和推送 docker 镜像作为 maven 项目。但是当尝试构建它时,它最终会出错。

    [INFO] --- maven-antrun-plugin:1.3:run (build-service-docker-image) @ infyDockerImageTomcat8 ---
[INFO] Executing tasks
     [echo] Running [docker build -t hi2vaisakh/infy-poc-tomcat8:v1.0 .]
     [exec] /bin/sh: 1: docker: not found
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE

【问题讨论】:

    标签: maven jenkins docker


    【解决方案1】:

    如果您想在 Jenkins 中使用 docker 命令,您必须将 docker 套接字从您的主机安装到您的 jenkins 容器中。像这样的东西应该可以工作:

    docker run -d \
         -u root \
         -v /var/run/docker.sock:/var/run/docker.sock \
         -v $(which docker):/usr/bin/docker:ro \
         -v /lib64/libdevmapper.so.1.02:/usr/lib/x86_64-linux-gnu/libdevmapper.so.1.02 \
         -v /lib64/libudev.so.0:/usr/lib/x86_64-linux-gnu/libudev.so.0 \
         -p 8080:8080 \
         --name jenkins \
         --privileged=true -t -i \
    jenkins
    

    【讨论】:

    • 哇,它成功了,非常感谢。但是当我运行 docker info 命令时,它显示错误“加载共享库时出错:libdevmapper.so.1.02:无法打开共享对象文件:没有这样的文件或目录”
    • 我认为这是特定于操作系统的东西:例如在 CentOS 上我必须执行:-v /lib64/libdevmapper.so.1.02:/usr/lib/x86_64-linux-gnu/libdevmapper .so.1.02 \ .我还必须挂载 -v /lib64/libudev.so.0:/usr/lib/x86_64-linux-gnu/libudev.so.0
    • 你必须检查你的 libdevmapper.so.1.02 的路径。在您的服务器上。我不知道这条路径是否特定于操作系统(Centos/Ubuntu/...)。
    猜你喜欢
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多