私は、エントリポイントとcmdの両方でドッカーをセットアップしようとします。ドッカーのエントリポイントとcmdを一緒に
FROM debian:stretch
RUN apt-get update && \
apt install gnupg ca-certificates -y
RUN echo "deb http://repo.aptly.info/ squeeze main" > /etc/apt/sources.list.d/aptly.list
RUN apt-key adv --keyserver keys.gnupg.net --recv-keys 9E3E53F19C7DE460
RUN apt update && apt install aptly -y
ADD aptly.conf /etc/aptly.conf
ADD start.sh .
VOLUME ["/aptly"]
ENTRYPOINT ["/start.sh"]
CMD ["aptly", "api", "serve"]
しかし、エントリポイントスクリプトが停止されていません... CMDコマンドはここ
を立ち上げていない私のスクリプト:
#!/bin/bash
set -e
init_aptly() {
#import pgp key
#create nginx root folder in /aptly
su -c "mkdir -p /aptly/.aptly/public"
echo "12"
#initialize repository
#aptly create repo doze-server - distribution="stable"
}
#check for first run
if [ ! -e /aptly/.aptly/public ]; then
init_aptly
echo "13"
fi
echo "14"
スクリプトは常に14エコー、私は一つだけを希望し、 dockerfileからcmdコマンドを実行してください
それでは、私はentrypointを持つ実行可能ファイルとしてcmdをどのようにすることができますか? – Vana
あなたはbashスクリプト 'CMD ./start.sh && aptly api serve'のような実行可能ファイルを組み合わせることができます – yamenk
私はそれを行い、それは仕事です!ありがとう:) – Vana