ブログをdockerドキュメンタリーに移行

1283 ワード

メーデー前の今周は仕事の需要が多くなかったので、この机会にブログをdockerに移しました.ネット上のdockerに関する文章がたくさんありますが、初めて実践した私はいくつかの小さな问题に遭遇しました.今まとめてみましょう.
ここでお勧めするのはdockerですpractice(当駅住所)は、中国語と英語のバージョンがあり、多くの詳細が話されており、入門学習に適しています.次にdocker hubは、自分が必要とするミラーを探すことができ、自分が欲しいdockerfileを簡単に書くのに役立ちます.
dockerミラーの最も主要な利点は多重化可能であると思いますので、作成時にネットワーク転送を容易にするためにミラーのサイズを生成することに注意する必要があります.dotnetcoreを例にとると、公式にはruntimeミラー、buildミラー、sdkミラーなど、自分の実際のニーズに合わせて自分のニーズを適切に満たすベースミラーを選択すればよい.同時に、dockerfile内で1つのコマンドを使用してできるだけ1つのコマンドを使用することができ、ミラーの生成レイヤ数と生成時間を減らすことができます.dockerの実行が予想と一致しない場合、docker logsを使用してログを表示するのが上手で、Googleを利用して多くの問題を解決することができます.
以下はブログのdockerfile(本体forkはYukoBlogより、個人的にはわずかな修正をしただけです…)ですが、
ここでdbdataディレクトリは、ローカルのsqlliteをマウントし、後でコンテナブログを削除してデータが失われないようにするためです.

FROM microsoft/dotnet:latest

RUN mkdir /package \
  && mkdir /dotnetapp

Copy . /package
RUN dotnet restore package/YuukoBlog/src/YuukoBlog/YuukoBlog.csproj \
  && dotnet publish package/YuukoBlog/src/YuukoBlog/YuukoBlog.csproj -c Release -o /dotnetapp \
  && rm -rf /package
VOLUME /dotnetapp/dbdata
WORKDIR /dotnetapp
ENV ASPNETCORE_URLS http://*:5000
EXPOSE 5000

ENTRYPOINT ["dotnet", "YuukoBlog.dll"]