簡體   English   中英

在Docker容器中啟動Jenkins

[英]Starting Jenkins in Docker Container

我想在Centos7上的Docker容器中運行Jenkins。 我看到了Jenkins的官方文檔:首先,從Docker存儲庫中提取官方jenkins圖像。

docker pull jenkins

接下來,使用此映像運行容器並將數據目錄從容器映射到主機; 例如,在下面的示例中,來自容器的/ var / jenkins_home從主機上的當前路徑映射到jenkins /目錄。 Jenkins 8080端口也作為49001暴露給主機。

docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins

但是當我嘗試運行docker容器時,我收到以下錯誤:

/usr/local/bin/jenkins.sh: line 25: /var/jenkins_home/copy_reference_file.log: Permission denied

有人能告訴我如何解決這個問題嗎?

關於卷的官方Jenkins Docker圖像文檔說:

 docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins 

這會將jenkins數據存儲在主機上的/ your / home中。 確保容器中的jenkins用戶可以訪問/ your / home(jenkins user-uid 1000),或者使用-u some_other_user參數和docker run。

此信息也可在Dockerfile中找到。 所以你需要做的就是確保UID 1000擁有目錄$PWD/jenkins

mkdir jenkins
chown 1000 jenkins
docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins

最新的Jenkins文檔稱使用Docker'卷'。 Docker在這方面有點棘手,兩者之間的區別是一個完整的路徑名,帶有-v選項,用於bind mount,只是一個卷的名稱。

docker run -d -p 49001:8080 -v jenkins-data:/var/jenkins_home -t jenkins

此命令將創建名為“jenkins-data”的docker卷,您將不再看到錯誤。

管理卷的鏈接: https//docs.docker.com/storage/volumes/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM