Salut, j'essaie d'exécuter ambry dans docker

Une partie de mon fichier docker-compose.yml:

ambry:
    build: resources/ambry

Et Dockerfile:

FROM alpine:latest

USER root

RUN \
  apk update && \
  apk upgrade && \
  apk add git && \
  apk add bash && \
  apk add openjdk8 && \
  rm -rf /var/cache/apk/*

ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk

WORKDIR /tmp

CMD ["sh"]

RUN git clone https://github.com/linkedin/ambry.git

WORKDIR ambry

RUN ./gradlew allJar

WORKDIR target

CMD mkdir logs

CMD java -Dlog4j.configuration=file:../config/log4j.properties -jar ambry.jar --serverPropsFilePath ../config/server.properties --hardwareLayoutFilePath ../config/HardwareLayout.json --partitionLayoutFilePath ../config/PartitionLayout.json > logs/server.log &

CMD java -Dlog4j.configuration=file:../config/log4j.properties -cp "*" com.github.ambry.frontend.AmbryFrontendMain --serverPropsFilePath ../config/frontend.properties --hardwareLayoutFilePath ../config/HardwareLayout.json --partitionLayoutFilePath ../config/PartitionLayout.json > logs/frontend.log &

Je faisais ces commandes dans le shell, qui sont tirées de https://github.com/linkedin/ambry. Et fonctionne bien mais docker au démarrage, quittez simplement ..:

dockerized_ambry_1 exited with code 0

Quelqu'un sait pourquoi il existe?

0
Baku 18 août 2017 à 14:07

2 réponses

FROM quantumobject/docker-alpine

USER root

RUN \
  apk update && \
  apk upgrade && \
  apk add git && \
  apk add bash && \
  apk add openjdk8 && \
  rm -rf /var/cache/apk/*

ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk

RUN git clone https://github.com/linkedin/ambry.git

WORKDIR ambry/target

RUN cd .. && ./gradlew allJar

RUN mkdir logs

RUN java -Dlog4j.configuration=file:../config/log4j.properties -jar ambry.jar --serverPropsFilePath ../config/server.properties --hardwareLayoutFilePath ../config/HardwareLayout.json --partitionLayoutFilePath ../config/PartitionLayout.json > logs/server.log && /sbin/my_init &

CMD java -Dlog4j.configuration=file:../config/log4j.properties -cp "*" com.github.ambry.frontend.AmbryFrontendMain --serverPropsFilePath ../config/frontend.properties --hardwareLayoutFilePath ../config/HardwareLayout.json --partitionLayoutFilePath ../config/PartitionLayout.json > logs/frontend.log && /sbin/my_init

Fait le travail :) merci birchlabs

0
Baku 18 août 2017 à 15:08

Voici la solution de travail complète:

https://github.com/maciejbak85/ambry-docker

0
Baku 28 août 2017 à 17:45