2017-07-15 38 views
5

Jenkins'i Docker kapsayıcısında çalıştırmak istiyorum. Her şey yolunda. Bunu şu şekilde çalıştırabilirim: docker run -d --name jenkins -t -i -p 49001:8080 jenkins Ayrıca kalıcı depolama da ekleyebilirim. Sorun, bir boru hattı oluşturduğumda docker komutlarını (build ve push) yürütmek zorunda kaldığında ortaya çıktı. İlk olarak, hata, docker'ın sistemde yüklü olmamasıydı. Evet, beklenen. Sonra arama yapmaya ve docker'ı kapsayıcıda nasıl çalıştırabildiğimi öğrendim (2 kalıcı hacim geçerek): docker run ... -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -p 49001:8080 jenkinsDocker kapsayıcısında Jenkins (docker boru hattını çalıştırın)

Bu, ancak bazı istisnalar dışında çalışır. Kapta docker komutu var ancak çalıştırmayı denediğimde bir istisna atar: docker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory

Bu sorunu nasıl giderebilirim? Jenkins'i Docker'a yüklemek ve Docker'ı çalıştırmak için doğru yol hangisidir? Aslında Jenkins çalışan buna değer

  • Ben bağlantıları ve çalışan komutları
  • verir liman işçisi api maruz bırakabilir prizler kullanın -

    1. yapıyorum biri: Ben 2 yolu olduğunu düşünüyorum Docker'da? Ben eksik lib manuel olarak apt-get'dan yüklemeye çalışıyorum Ama işe yaradığını biliyorum ama doğru yolu olmadığını biliyorum ..

    +0

    https://www.vip-consult.solutions/post/easy-docker-swarm-jenkins-continuous-deployment-at-scale#content yardımcı olur mu? – VonC

    cevap

    6

    Her şeyin düzgün çalışmasını sağlamak için libltdl-dev'u yüklemeniz gerekiyor. Şöyle bir Dockerfile oluşturun:

    FROM jenkins:latest 
    
    USER root 
    RUN apt-get update \ 
         && apt-get upgrade -y \ 
         && apt-get install -y sudo libltdl-dev \ 
         && rm -rf /var/lib/apt/lists/* 
    RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers 
    
    USER jenkins 
    # Here you can install some Jenkins plugins if you want 
    
    +0

    Basit bir geçici resim yarattım https://hub.docker.com/r/jesusperales/jenkins-docker-run-inside/ –