以下は、H2データベースを実行するために動作する私のdockerfileです: これのためのドッカー作成ファイルを作成したいと思います。続きDocker compose無効なボリュームの保存先パス: '。'マウントパスは絶対でなければなりません
FROM klousiaj/oracle-java:7.79
MAINTAINER J.P. Klousia <klousiaj>
ENV DOWNLOAD http://www.h2database.com/h2-2016-10-31.zip
ENV DATA_DIR /opt/h2-data
RUN curl ${DOWNLOAD} -o h2.zip \
&& unzip h2.zip -d /opt/ \
&& rm h2.zip \
&& mkdir -p ${DATA_DIR}
EXPOSE 8082 9092
CMD java -cp /opt/h2/bin/h2*.jar org.h2.tools.Server \
-web -webAllowOthers -webPort 8082 \
-tcp -tcpAllowOthers -tcpPort 9092 \
-baseDir ${DATA_DIR}
VOLUME ${DATA_DIR}
は私が実行しようとしていますドッキングウィンドウのコンです:
version: '2'
services:
db:
image: klousiaj/oracle-java:7.79
environment:
DOWNLOAD: http://www.h2database.com/h2-2016-10-31.zip
DATA_DIR: /opt/h2-data
command: curl ${DOWNLOAD} -o h2.zip \ && unzip h2.zip -d /opt/ \ && rm h2.zip \ && mkdir -p ${DATA_DIR}
expose:
- "8082-9092"
command: java -cp /opt/h2/bin/h2*.jar org.h2.tools.Server \ -web -webAllowOthers -webPort 8082 \ -tcp -tcpAllowOthers -tcpPort 9092 \ -baseDir ${DATA_DIR}
volumes:
- ${DATA_DIR}
Imがエラーを取得して:あなたはので、これはちょうど、作曲ファイルでは許可されません
ERROR: for db Cannot create container for service db: Invalid volume spec ".": Invalid volume destination path: '.' mount path must be absolute.
これはうまくいかないでしょう - サービスごとに複数の 'command'エントリを持つことはできません。おそらくDockerファイルを使い続け、Docker Composeの 'build'オプションを使ってそれを参照したいと思うかもしれません:https://docs.docker.com/compose/compose-file/#/build – nwinkler
@nwinkler h2 dockerfileをdocker composeに変換しますか? –
docker-composeはドッカーの代わりではなく、ドッカーによって構築されたドッカー画像を実行するためのものです。最初にドッカーで構築する必要があります。 – YOU