ドッカーには新しく、アプリケーションを移植することを試みました。基本的に、起動時に、私はスクリプトにカプセル化した環境依存の作業をいくつか実行する必要があります。ドッカービルドにそのようなファイルやディレクトリがありません
私のアプリはここ
Dockerfile
scripts/run.sh
build-development/stuff
build-production/stuff
のように見える私のDockerfileです:
FROM nginx
RUN chmod +x scripts/run.sh
CMD ["scripts/run.sh", APP_ENV]
EXPOSE 80
、ここでは、スクリプト/ run.shです:
#!/bin/bash
mkdir dist
chmod -R 777 dist
if [ $1 == "development" ]
then
cp -R build-development/. /usr/share/nginx/html
fi
if [ $1 == "stage" ]
then
cp -R build-production/. /usr/share/nginx/html
sed -i 's/production/stage/g' dist/index.html
fi
if [ $1 == "production" ]
then
cp -R build-production/. /usr/share/nginx/html
fi
アイデアは、私が実行されるということです画像は以下のようになります:
docker run -e APP_ENV=development app-name
がスクリプトに入力され、正しいファイルがコピーされます。
docker build -t app-name .
私は
ないことに関するエラーを取得:ビルドステップの間にあるためスクリプト/ run.shファイルまたはディレクトリ
残念ながら、私はイメージを実行するために取得することはありません
なぜこのエラーが発生しているのか分かりませんが、私はそれが私の邪魔になっていると思います。私は間違って何をしていますか、私はどのようにプロジェクトを動かすことができますか?
ありがとうございます。
ありがとうございます。ドッカー・フォー・ウィン+ WSL環境でも同様の問題が発生し、EOL/rが問題でした。ありがとうありがとう! – raupie