কেন জেনকিন্স ব্যবহারকারীর ডকার ইউনিক্স সকেট অ্যাক্সেসের অনুমতি থাকতে পারে না?


9

আমি jenkinsব্যবহারকারীকে এই দলে যোগ করেছি এই dockerভেবে যে এটি জেনকিন্সকে ডকার কমান্ডগুলি চালানোর অনুমতি দেয়। যদি আমি jenkinsব্যবহারকারীর কাছে চলে যাই , আমি এটি যাচাই করতে পারি (ম্যানুয়ালি):

ubuntu@hostname:~$ ps aux | grep java
jenkins   2210  9.5  7.5 1950316 292896 ?      Sl   00:01   1:00 /usr/bin/java -jar /data/jenkins/jenkins-1.586.war --httpPort=8080 -Xloggc:/var/log/jenkins/gc.log
ubuntu@hostname:~$ getent group docker
docker:x:999:jenkins
ubuntu@hostname:~$ ls -la /var/run/docker.*
-rw-r--r-- 1 root root   4 Oct 23 18:32 /var/run/docker.pid
srw-rw---- 1 root docker 0 Oct 23 18:32 /var/run/docker.sock
ubuntu@hostname:~$ sudo su -s /bin/bash jenkins
jenkins@hostname:/home/ubuntu$ docker ps
CONTAINER ID        IMAGE                      COMMAND                CREATED             STATUS              PORTS                     NAMES

তবে জেনকিনস বিল্ড / কাজের সময় এর অনুমতি নেই:

# Job log
Started by user Matt Wright
Building on master in workspace /data/jenkins/jobs/docker-base-images-build/workspace
[ssh-agent] Using credentials CI-jenkins
[ssh-agent] Looking for ssh-agent implementation...
[ssh-agent]   Java/JNR ssh-agent
[ssh-agent] Started.
 > git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
 > git config remote.origin.url git@github.com:<redacted>/docker-base-images.git # timeout=10
Fetching upstream changes from git@github.com:<redacted>/docker-base-images.git
 > git --version # timeout=10
using GIT_SSH to set credentials 
 > git fetch --tags --progress git@github.com:<redacted>/docker-base-images.git +refs/heads/*:refs/remotes/origin/*
 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 83c4463e7195b412a3a803dd7338210c1a772f55 (refs/remotes/origin/master)
 > git config core.sparsecheckout # timeout=10
 > git checkout -f 83c4463e7195b412a3a803dd7338210c1a772f55
 > git rev-list 83c4463e7195b412a3a803dd7338210c1a772f55 # timeout=10
[workspace] $ /bin/sh -xe /tmp/hudson5606381166745886966.sh
+ ./build.sh
Sending build context to Docker daemon 
2014/10/24 16:14:18 Post http:///var/run/docker.sock/v1.15/build?rm=1&t=<redacted>%2Fpython%3A3.4: dial unix /var/run/docker.sock: permission denied
Build step 'Execute shell' marked build as failure
[ssh-agent] Stopped.
Notifying upstream projects of job completion
Finished: FAILURE

এটি ডকার 1.3.0 এবং উবুন্টু 14.04.1 এর সাথে। কোন সংকেত সনাক্ত করুন?


এই ইস্যু সম্পর্কিত মনে হচ্ছে । রিবুট করা আমার জন্য এটি সমাধান করে।
স্মিলি 92

রিবুট করা আমার পক্ষে এটি সমাধান করেনি।
ম্যাট ডব্লু

1
দেখে মনে হবে জেনকিন্স জেনকিন্স ব্যবহারকারীর প্রধান গোষ্ঠী ব্যতীত অন্য গ্রুপগুলি বাদ দেয়। আমি যখন জেনকিন্স ব্যবহারকারী হিসাবে শেল থেকে আইডি কমান্ডটি চালিত করি তখন আমি দেখতে পাচ্ছি যে এটি ডকার গ্রুপে রয়েছে, তবে আমি যখন ফ্রি স্টাইলের চাকরিতে আইডি চালাই, এটি কেবল জেনকিন্স ব্যবহারকারীকে দেখায়। কীভাবে এটি ঠিক করতে হবে তা আমি এখনও বুঝতে পারি নি।
জোসেফ মলয়

প্রথমে নিশ্চিত করুন যে আপনার ডঙ্কর গ্রুপে জেনকিন ব্যবহারকারী রয়েছে। তারপরে আপনার যে দাসটির সাথে সমস্যা রয়েছে সে যদি মাস্টারের সাথে সংযুক্ত থাকে তবে সংযোগ বিচ্ছিন্ন করুন এবং তারপরে আবার সংযোগ করুন। 'জেনকিনগুলি পরিচালনা করুন' / 'নোডগুলি পরিচালনা করুন' এর মাধ্যমে এটি করুন।
আর্মোনমর

উত্তর:


12

আমি মনে করি ডেনার ইউনিক্স সকেটকে জেনকিন্স গোষ্ঠী সুবিধাগুলি দেওয়ার বিষয়টি সমাধান করে। এই লাইনটি যুক্ত করে কনফিগারেশন ফাইলে ডকার ডেমন স্টার্টআপ বিকল্পগুলি কনফিগার করে এটি পরিবর্তন করা যেতে পারে

DOCKER_OPTS=' -G jenkins'

উবুন্টুতে /etc/default/dockerডকার কনফিগারেশন ফাইল রয়েছে।


এটি এখনও উবুন্টু 16.04
লিড_ব্রোগ্রামার

1

groupsজেনকিন্স ব্যবহার করে কমান্ড চালান । আপনি একটি dockerগ্রুপ দেখতে পাচ্ছেন ? যদি তা না হয় তবে সেই জিনকিন্স ক্রীতদাসকে পুনরায় বুট করার চেষ্টা করুন। অথবা কেবল জেনকিন্স স্লেভ.জার প্রক্রিয়াটি মেরে ফেলুন: পিএস অক্স | গ্রেপ জেনকিনস


উপরের কয়েকটি পদক্ষেপের পরে, এটির কাজ শেষ করার জন্য চূড়ান্ত অংশটি ছিল জেনকিনস দাসকে পুনরায় সংযুক্ত করা। ভকভগক.
ডিন পলিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.