Ich bin neu zu Docker, also, wenn dies ein ziemlich offensichtlicher Prozess ist, den ich vermisse, entschuldige ich mich für die dumme Frage im Voraus.Ändern der UID des Benutzers in einem Pre-Build-Docker-Container (Jenkins)
Ich richte einen Continuous Integration Server mit dem Docker-Image jenkins
ein. Ich habe eine docker pull jenkins
, und erstellt einen Benutzer jenkins
, damit ich die /var/jenkins_home
im Container zu meinem Host /var/jenkins_home
(auch im Besitz von jenkins:jenkins
Benutzer) mounten kann.
das Problem ist, dass der Behälter die jenkins
Benutzer mit uid 102, aber mein Host hat die jenkins
Benutzer als 1002 zu definieren scheint, so, wenn ich es laufen erhalte ich:
docker run --name jenkins -u jenkins -p 8080 -v /var/jenkins_home:/var/jenkins_home jenkins
/usr/local/bin/jenkins.sh: line 25: /var/jenkins_home/copy_reference_file.log: Permission denied
Ich würde einfach das machen UID für den Host jenkins
Benutzer 102 in /etc/passwd
, aber diese UID ist bereits von sshd genommen. Ich denke, die Lösung ist, den Behälter zu ändern, um uid 1002 stattdessen zu verwenden, aber ich bin nicht sicher, wie.
bearbeiten
Eigentlich Benutzer 102 auf dem Host messagebus ist, sshd nicht.
Das Problem ist die UID, die das Bild verwendet, ist 102, die vom Host genommen wird. Wie kann ich die Benutzer-ID des Benutzers im Container ändern? – CodeChimp