SSH sertifikalarını ayarlamak için kullanıcıyı tomcat7 kullanıcılarına değiştirmeye çalışıyorum.Docker resmindeki kullanıcıları root olmayan bir kullanıcıya geçirme
su tomcat7
yaptığımda hiçbir şey olmuyor.
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
irc:x:39:39:ircd:/var/run/ircd:/bin/sh
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
libuuid:x:100:101::/var/lib/libuuid:/bin/sh
messagebus:x:101:104::/var/run/dbus:/bin/false
colord:x:102:105:colord colour management daemon,,,:/var/lib/colord:/bin/false
saned:x:103:106::/home/saned:/bin/false
tomcat7:x:104:107::/usr/share/tomcat7:/bin/false
Ne geçici çalışıyorum şudur:
whoami
hala açıkça bir tomcat7 kullanıcı var olduğunu göstermektedir şu sonuç almak, bir more /etc/passwd
yaparak su tomcat7
yaptıktan sonra kök ruturns Hudson hatası:
Command "git fetch -t [email protected]________.co.za:_______/_____________.git +refs/heads/*:refs/remotes/origin/*" returned status code 128: Host key verification failed.
Bu benim Dockerfile'ım, varolan bir hudson savaş dosyasını al nd yapılandırılmış ve bir görüntü oluşturur, hudson iyi çalışır, sadece kullanıcı tomcat7 için mevcut olmayan sertifikalar nedeniyle git erişemez.
FROM debian:wheezy
# install java on image
RUN apt-get update
RUN apt-get install -y openjdk-7-jdk tomcat7
# install hudson on image
RUN rm -rf /var/lib/tomcat7/webapps/*
ADD ./ROOT.tar.gz /var/lib/tomcat7/webapps/
# copy hudson config over to image
RUN mkdir /usr/share/tomcat7/.hudson
ADD ./dothudson.tar.gz /usr/share/tomcat7/
RUN chown -R tomcat7:tomcat7 /usr/share/tomcat7/
# add ssh certificates
RUN mkdir /root/.ssh
ADD ssh.tar.gz /root/
# install some dependencies
RUN apt-get update
RUN apt-get install --y maven
RUN apt-get install --y git
RUN apt-get install --y subversion
# background script
ADD run.sh /root/run.sh
RUN chmod +x /root/run.sh
# expose port 8080
EXPOSE 8080
CMD ["/root/run.sh"]
Ben, bu Docker bir hata olduğunu (63fe64c/1.0.0 build Docker sürümü 1.0.0) ya da benim Dockerfile içinde bir şey eksik Docker son sürümünü kullanıyorum?
Are bakınız:
docker exec
ile, interaktif terminali kullanacak hangi hesap kullanıcı belirtmek için
--user
kullanmak (konteyner çalıştırıyor olmalıdır ve kullanıcı konteynerle sisteme varolması gerekir) [USER '] (http://docs.docker.com/reference/builder/#user) Dockerfile talimatının farkında mısınız? – icecrimeHayır, bunun için ne öneririm? –
KULLANICI yönergesiyle Dockerfile üzerinden sertifika oluşturmak mümkün mü? –