FROM ubuntu:trusty
ENV GERRIT_USER gerrit2
ENV GERRIT_HOME /home/${GERRIT_USER}
ENV GERRIT_SITE ${GERRIT_HOME}/gerrit/site
ENV GERRIT_WAR ${GERRIT_HOME}/gerrit.war
ENV GERRIT_VERSION 2.9.3
RUN useradd -m ${GERRIT_USER}
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y openjdk-7-jre-headless git-core vim
ADD https://gerrit-releases.storage.googleapis.com/gerrit-${GERRIT_VERSION}.war /tmp/gerrit.war
ADD . /app
RUN mv /tmp/gerrit.war $GERRIT_WAR
RUN chown -R ${GERRIT_USER}:${GERRIT_USER} $GERRIT_HOME
USER $GERRIT_USER
WORKDIR $GERRIT_HOME
RUN mkdir -p $GERRIT_SITE
RUN chown -R ${GERRIT_USER}:${GERRIT_USER} $GERRIT_SITE
ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64/jre
RUN java -jar $GERRIT_WAR init --batch -d ${GERRIT_HOME}/gerrit
ADD gerrit.config $GERRIT_HOME/gerrit/etc/gerrit.config
VOLUME $GERRIT_SITE
ENV AUTH_TYPE LDAP
EXPOSE 8080 29418
CMD ["/app/start.sh"]
Bağlam: Yukarıdaki dockerfile Çoğu zaman liman işçilerini kullanarak bir kapta Gerrit çalıştırmak için dockerhub, kurtulduğunu budur . Yaptığım değişiklikler, GERRIT_SITE değerini ayarlamak, bu dizini oluşturmak, GERRIT_USER için bu dizini kullanmak ve bir birim olarak ayarlamak için allot izni oluşturmaktır. Docker görüntüsünü oluşturduğumda, docker görüntüsü başarıyla oluşturuldu. Ben ... aşağıdaki hatayı alıyorum liman işçisi konteyner hacmine benim ev sahibi hacmini montaj, konteyner denemenizi Fakat Dockerfile
-bash-4.1$ docker run -p 8080:8080 -p 29418:29418 -v /home/user/gerritVolume/vols:/home/gerrit2/gerrit/site gerritvol
** ERROR: Gerrit is not initialized in /home/gerrit2/gerrit/site
cat: /home/gerrit2/gerrit/logs/error_log: No such file or directory
Ben konak dizin tüm izinlere sahip bulunduğundan emin yaptı. Bu konuda takıldım ve bunun nasıl gideceğinden emin değilim. Biraz yardım ederim. Şimdiden teşekkür ederim. kabın içine
/home/gerrit2/gerrit/site
dizin
boş olacak böylece ana bilgisayarda mevcut bir siteyi yoksa bağlama montaj Barındırıcınıza Bir dizini, ana bilgisayardaki dosyaları bağlamak olduğuna göre,, öncelikli olarak
Hayır, –v seçeneği olmadan da çalışmıyor. Aynı hata gösteriliyor. Ancak, görüntü değişiklikleri geri alırken iyi çalışıyor, ben yaptım. Gerrit ev başlatıldıktan sonra GERRIT_SITE klasörünü oluşturmayı denedim, ki bu tekrar GERRIT_SITE bulunamadığından başarısız oldu. Denediğim bir diğer yapılandırma da hacim olarak GERRIT_HOME oluşturuyordu. –v seçeneği ile çalıştırıldığında aynı hatayı tekrar gösterir, ancak –v seçeneği olmadan düzgün çalışır. – Anusha