Pythonの仮想環境構築をするためにDockerについて勉強しています。今回はDockerの仕組みについてまとめてみました。Dockerイメージとコンテナの関係や、Dockerfile、docker Hubの役割など、シンプルに概念を示します。
WindowsでのDockerのざっくりした使い方
(1)導入編
(2)仕組み編
(3)コマンド編
Dockerのしくみ
Dockerのしくみをざっくり示すと下のようになります。
Dockerでの仮想環境構築の骨格は、DockerfileからのDockerイメージ作成と、作成したイメージをインスタンス化したDockerコンテナの作成になります。そうして作ったDockerコンテナの仮想環境を使ってアプリの開発や実装をおこないます。
DockerコンテナはクライアントPCの環境とは隔離されていて、データや情報のやり取りは、Dockerを起動したPowerShellのようなShellや、Dockerで指定されたディレクトリやポートを介して行うことになります。
docker hubはDockerのイメージを保管しているサーバーで、公式が準備した各種サービスが利用できます。自分が作成するイメージの元となるベースもdocker hubに保管されています。
Dockerfile
Dockerイメージを作成するには、Dockerfileに、設計図を書きます。作ったDockerfileのあるディレクトリで、「Docker build」をするとDockerfileの設計図通りにイメージを作成してくれます。
あらかじめ、必要なライブラリを入れるようにDockerfileを作っておけば、そのイメージから作ったコンテナを作ることで、どのパソコンからも同じ開発環境を準備できます。
次回以降は具体的なDockerfileの記述方法やDockerのコマンドについてまとめていきます。
参考リンク
docker docs(公式ホームページ)
公式ドキュメントです。チュートリアルやサンプルコードもあります。
Docker ドキュメント日本語化プロジェクト
上記の公式ホームページの日本語化ページです。
【図解】Dockerの全体像を理解する(Qiita)
すごく分かりやすいDockerのまとめページです。
DockerでPython実行環境を作ってみる(Qiita)
DockerでのPython仮想環境構築を丁寧に説明してくれています。ワークショップの動画やコードも公開してくれているので、そのままやるだけでPythonの仮想環境は作れます。
DockerでPython公式イメージ + MeCab + NEologd辞書(Qiita)
Dockerを学んでみたいというモチベーションとなったページです。DockerでPython+MeCab+mecab-ipadic-NEologd辞書の環境構築の方法を教えてくれます。最終的なゴールはこのページのコードを全部理解して、自分でカスタマイズできるようになることです。
コメント