Come posso aggiungere software o altri pacchetti a un contenitore docker?

Ho tirato il contenitore jenkins dal mozzo docker come questo:

docker pull jenkins 

Il contenitore viene eseguito e posso accedere all'interface utente di Jenkins in:

 http://localhost:8080 

La mia domanda è:

Se voglio essere in grado di creare un lavoro di jenkins che tira da un repo di github e voglio eseguire alcuni test python da uno dei file di prova di quel repo, come posso installare pacchetti extra come virtualenvwrapper, pip, pytest, nose, selenium ecc?

Sembra che il contenitore docker non condivida alcun riferimento con il file system host locale.

    Come posso installare tali pacchetti in questo contenitore in esecuzione?

    Grazie

    Dovrai installare tutte le dependencies al momento della creazione del contenitore docker.

    È ansible distriggersre il proprio Dockerfile della biblioteca di jenkins e quindi mettervi dentro. Il tuo Dockerfile può apparire simile

     FROM jenkins:latest MAINTAINER Becks RUN apt-get update && apt-get install -y {space delimited list of package} 

    Quindi, puoi fare qualcosa di simile …

     docker build -t jenkins-docker --file Dockerfile . docker run -it -d --name=jenkins-docker jenkins-docker 

    Non potrei aver scritto correttamente tutta la syntax, ma questo è fondamentalmente quello che devi fare. Se si desidera che il passaggio di run spin-up i jenkins, seguire insieme a quello che stanno facendo nel Dockerfile esistente e aggiungere le sezioni rilevanti al file dockerfile, per aggiungere alcuni passaggi RUN per eseguire jenkins.

    È venuto attraverso questa pagina , che si avvicina a un problema simile, anche se monta il calzino docker all'interno di un altro contenitore, al tipo di connettere un contenitore ad un altro. Dato che è un collegamento esterno, ecco il relativo file da lì,

     FROM jenkins:1.596 USER root RUN apt-get update \ && apt-get install -y sudo \ && rm -rf /var/lib/apt/lists/* RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers USER jenkins COPY plugins.txt /usr/share/jenkins/plugins.txt RUN /usr/local/bin/plugins.sh /usr/share/jenkins/plugins.txt 

    Ecco come puoi spinarla.

     docker build -t myjenk . ... Successfully built 471fc0d22bff $ docker run -d -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):/usr/bin/docker -p 8080:8080 myjenk 

    Suggoi vivamente di passare attraverso questo post. È abbastanza impressionante.