今日もメモをのこそう

あとでみるメモ代わり

Dockerについてすごく浅い理解

今日はDockerのお勉強をしようと思います。
あまり詳しくせずに、ざっくり浅い理解のまま環境構築をしていきます。
※Docker Desktopのインストールは割愛します。

今回のオチ

Dockerは結局のところ仮想環境が構築できるツール。
構築した環境の管理が簡単かつ軽い。
docker runでコンテナを作るところまで実行。

Dockerってなんだ?

Dockerについてなんてネットにものすごく記事があるので、すごく浅い理解としては以下となる。

仮想化環境を構築するためのツール。
似たツール(VirtualBoxなど)はあるが、仕組みが異なり効率的に管理ができる。

じゃあ、仮想環境をDockerで作ろう、となるんですが
ざっくり構築に必要なDocker用語を書きます。
ですが、正確な説明ではありません。 あくまでもそのようなイメージとなります。

用語 おおよそのイメージ
コンテナ Dockerで作った仮想環境
Dockerイメージ コンテナを作るための材料+レシピ
Dockerfile Dockerイメージを作るためのレシピ
DockerHub Dockerイメージをクラウド上で共有するサービス。
基本はここからイメージを取得する

結局のところ、動くのは「コンテナ」。なのでコンテナを作ることがゴール。
→では、どうやってコンテナを作るのかというと、「Dockerイメージ」からつくる。
 →「Dockerイメージ」はDockerHubから取得する、もしくはDockerfileから作成する。
  ※Dockerfileはここでは関係ないかも。

Dockerを使って環境構築してみる

Dockerで環境構築する場合は、大きく分けて以下のコマンドが必要となる。
※逆に言うと構築に必要な最低限のコマンドはたった二つでOK。

  1. Dockerイメージを取得するためのコマンド
    DockerイメージをDockerHubから取得する or Dockerfileから作る,のいずれかのコマンドを実行する。
  2. Dockerイメージからコンテナを作るコマンド
1. Dockerイメージを取得するためのコマンド
  • DockerHubからDockerイメージを取得する場合
    この時に必要なのは、「pull」というコマンドです。
    docker pull 「イメージ名」というコマンドになります。
    イメージ名は、Docker Hubから欲しいイメージを見つけおきます。
    今回は「node」の最新版*1としてみます。
docker pull node

これを実施するとImageの取得が完了。Docker Desktopで確認が可能。

  • DockerイメージをDockerfileから作る場合(Dockerfileの中身は別の記事で書くので読み飛ばしでもOK) Dockerfileからの構築は「docker build」です。
    Dockerfileがある場所で、以下コマンドを打つ。
    -t は、作ったイメージに名前を付けています。node_testのところは好きな名前を付けてください。
    ※つけなくても実行可能ですが、名前を付けてあげないとDocker Desktopから確認ができないので。
docker build -t node_test .
2. Dockerイメージからコンテナを作るコマンド

正確に言うと、「Dockerイメージからコンテナを作って実行する」までを一気にしてくれるコマンドがあります。
それが、「docker run」です。

docker run -d --name {コンテナの名前}-it {利用するイメージ}

各種オプションについては基本的に割愛します。調べてみていただければと思うのですがいったんはこういうもんという認識でもよいと思いいます。
-d : バックグラウンドで実行
-i : -interactiveの略。コンテナプロセスの標準入力を開いたままにする -t : --ttyの略。ttyを割り当ててる
-it : -iと-tの組み合わせ。コンテナに対してコマンドの入出力を可能にします。

docker run のオプションは正直よくわからないですが、個人開発をする、ということであれば
そこまで種類はなさそうなので、いったんは丸暗記するのもありです。

*1:イメージ名にオプションをつけることでバージョンを指定もできます