アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在自分はホストOS上に直接Anacondaで環境を構築していますが、これをDocker上で構築したいと考えています。

Dockerは扱った経験がないので自分なりにDockerについて調べてみたのですが、環境構築の流れとしては以下の1.~5.の認識で正しいでしょうか。

1. Docker Hub(リポジトリ)からLinuxOSイメージを取得してコンテナを作成
2. 1.で作成したコンテナ上でAnacondaをインストール
3. condaコマンドで必要なライブラリを適宜インストール
4. 上記の環境を再びイメージ化(imageAとする)することで、次回以降はimageAを読み込むだけで良い
5. Dockerfileは上記の1.~3.の手順を記した1つのファイルであり、これを$docker buildコマンドに喰わせることで1.~3.の作業を自動化する(makefileのようなもの?)

つまり、公開されているDockerfileを用いたり書き換えることで、公開されている環境イメージを取得できるということでしょうか?
また、1.~4.の作業を自分で行って構築済みの環境イメージを作成した場合、Dockerfileを作成するメリットはなんでしょうか?

なんだか、4.と5.の認識に矛盾があると思い質問させていただきました。
見当違いな認識でしたら、ご指摘お願いいたします。

A 回答 (1件)

作るのが一つのAnaconda環境インスタンスだけで良いのならDockerfileは必要ないでしょう。

ただ微妙に条件を変えて(例えばベースがUbuntu18.04LTSだったのを20.04LTSに変えて)再構築することがあるときDockerfileがあると分かりやすくて便利です。あと同じ環境を別の人に用意する場合ですね。構築済み環境を送ろうとするとGB単位ですが、Dockerfileはせいぜい数KBですから。
Dockerfileは自分が構築する環境の構築手順をバッチ化して再利用しやすくするモノです。Dockerが単なる仮想PCソフトより便利なのはコンテナだからというよりこの構築機構があるからですね。コンテナだけなら単に軽い仮想化ソフトに過ぎず、速いマシンがあれば良いという話になりますから。Dockerfileがあるから再構築が簡単で、また新たな環境構築も他人が作ったDockerfileを手直しして簡単にできたりするわけです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!