Heroku Container Registry and Runtime の他の人が作ったdockerfileの読解
概要
dockerfileの書き方をいまいち理解してないので、読解してみる。最終的にdjangoでdeploy予定なので、それに近いflaskでやっている方の記事を参考にしてみました。
参照サイト
読解
記事からそのまま転用しています。
image_clock/ ├ static/ ├ templates/ ├ Dockerfile ├ app.py └ requirements.txt
# Pythonが入ったAlpine Linuxをベースイメージに使用 FROM python:3.5.2-alpine # FROM = ベースイメージを指定 # gitのインストール RUN apk update # apk update (yum, apt-get updateみたいなもの?) RUN apk add git # apk add git (gitを追加する。多分後で、githubからcloneして来るため?) # Pythonのパッケージインストール ADD requirements.txt /tmp # localのrequirements.txt をcontainerの、tmpフォルダにコピペする RUN pip install -r /tmp/requirements.txt # requirementsのpip installする。 # ソースコードを配置 WORKDIR /web # cd でweb フォルダに移動する。デフォルトでcontainerにあるのか、push web の時に作られるかは不明。これもwebフォルダでなくてもいいのかもしれんな。 RUN git clone https://github.com/nanakenashi/image_clock.git clock # git clone してきて、さっき移動してきたwebフォルダ内に、展開する。 # flaskアプリケーションの起動 ENV FLASK_APP /web/clock/app.py # ENV=環境変数の設定。FLASK_APPに、/web/clock/app.pyを代入している。この辺は、正直よくわからん。clockのフォルダはどこから出てきたんだ。でもこれはflaskの設定なのかも知んない。 CMD flask run -h 0.0.0.0 -p $PORT # flaskを実行する。多分、さっきのFLASK_APPはここで使われているんじゃないかな。
ちょっとdjangoの場合にどうなるかも調べないとな。