2016-09-29 21 views
0

私はCMD "java -jar /tmp/migration.jar update_schema atlas"を実行して、cassandraにKeyspaceを作成しようとしました。しかし、それはcassandraにキースペースを作成しません。しかし、私がコマンドラインで同じコマンドを実行すると、そのアイデアを作成すると何が問題になるのですか?Docker Java-JARファイルを実行してCassandra KeySpaceを作成します。しかし作成していない

のTomcatから」 を次のように私のdockerfileがある:8-jre8

ENV LANG en_US.UTF-8 
ENV COMMAND="update" 
ENV ARGS="--logLevel=debug" 

WORKDIR /usr/local/tomcat/ 

ADD /migration.jar /tmp 
ADD atlas_migration.sh /usr/local/bin/atlas_migration.sh 
CMD ["/bin/sh", "/usr/local/bin/atlas_migration.sh"] 

CMD ENTRYPOINT ["java","-jar","/tmp/migration.jar","update_schema", "atlas"] 
CMD java -jar /tmp/migration.jar update_schema atlas 

ENV CATALINA_OPTS "-Xmx256m -Xms192m" 

EXPOSE 8085 

CMD ./bin/catalina.sh start && tail -f ./logs/catalina.out' 

答えて

1

CMDそれは起動時にコンテナが実行すべきコマンドを指定するためです。中にコマンドを実行して、実行後の状態がイメージ内に残るようにするには、RUNを使用する必要があります。

COPYADDに好適であるので、関連する命令がなければならない:

COPY /migration.jar /tmp 
COPY atlas_migration.sh /usr/local/bin/atlas_migration.sh 
RUN /usr/local/bin/atlas_migration.sh 
RUN ["java","-jar","/tmp/migration.jar","update_schema", "atlas"] 
関連する問題