2016-07-21 32 views
6

Tôi đang sử dụng plugin Kubernetes Jenkins để orchestrate Jenkins nô lệJenkins: chạy Docker lệnh trên một nô lệ Docker

Tôi muốn chạy tất cả các công việc trong Docker (xây dựng hình ảnh Docker và thực hiện các bài kiểm tra/xây dựng trong Docker).

dụ jenkins công việc:

docker run -e NEXUS_USERNAME=${NEXUS_USERNAME} -e NEXUS_PASSWORD=${NEXUS_PASSWORD} common-dropwizard:latest mvn deploy 

Tôi đang sử dụng jenkinsci/jnlp-nô lệ từ đây: https://hub.docker.com/r/jenkinsci/jnlp-slave/

Thật không may, hình ảnh nô lệ không xuất hiện để hỗ trợ chạy Docker. Câu hỏi của tôi là cách tiếp cận tốt nhất để thực hiện điều này là gì?

nhờ

Trả lời

3

Bạn cần cài đặt client Docker và gắn kết ổ cắm Docker, do đó bạn có thể truy cập vào các máy chủ Docker. Sau đó, bạn có thể tương tác với máy chủ Docker

https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-for-ci/ https://github.com/jenkinsci/docker-workflow-plugin/tree/master/demo

+0

DinD có lẽ không cần thiết ... gắn các ổ cắm qua '/var/run/docker.sock:/var/run/docker.sock -v 'hoạt động tốt. Lưu ý rằng có thể bạn sẽ cần phải vượt qua cờ --privileged = true –

+0

Tôi cũng đang cố gắng chạy các lệnh docker nhưng ánh xạ docker.sock và thiết lập đặc quyền đúng không hoạt động. Tôi đã thử cả định cấu hình nhóm trong bảng điều khiển jenkins và sử dụng hàm podTemplate đường ống. Một phần của JenkinsFile của tôi (https://gist.github.com/otaviosoares/fc132dcb863e75161431ed00b95f06ba) Hình ảnh tôi đang sử dụng dựa trên jenkinsci/jnlp-slave với git và docker được cài đặt. Lỗi tôi nhận được là "docker: not found" Tôi có đang làm gì sai không? Cảm ơn bạn – otaviosoares

+0

thì docker không nằm trong PATH hoặc một cái gì đó như thế – csanchez

Các vấn đề liên quan