[英]How can I add software or other packages to a docker container?
我從這個碼頭集線器中拉出了jenkins容器:
docker pull jenkins
容器運行,我可以訪問Jenkins UI:
http://localhost:8080
我的問題是:
如果我想能夠創建一個從github repo中獲取的jenkins作業,並且我想從該repo的一個測試文件中運行一些python測試,我該如何安裝額外的軟件包,如virtualenvwrapper, pip, pytest, nose, selenium
等?
似乎docker容器不與本地主機文件系統共享任何引用。
如何在此運行容器中安裝此類軟件包?
謝謝
您需要在docker container build time安裝所有依賴項。
你可以讓你自己Dockerfile
關閉詹金斯庫,然后把自定義的東西在里面。 你的Dockerfile
看起來像
FROM jenkins:latest
MAINTAINER Becks
RUN apt-get update && apt-get install -y {space delimited list of package}
然后,你可以做點什么......
docker build -t jenkins-docker --file Dockerfile .
docker run -it -d --name=jenkins-docker jenkins-docker
我可能沒有正確編寫所有語法,但這基本上是你需要做的。 如果你想要run
步驟來啟動jenkins,請在這里跟隨它們在現有Dockerfile
中所做的事情,並將相關部分添加到dockerfile,添加一些RUN
步驟來運行jenkins。
遇到了這個類似問題的頁面 ,雖然它也將docker sock安裝在另一個容器中,將一個容器連接到另一個容器。 鑒於它是一個外部鏈接,這里是相關的dockerfile,
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
這就是你如何把它搞砸了。
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
我強烈建議你閱讀這篇文章。 它非常棒。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.