みなさんこんにちは。
早いものでGWも終わり、次第に暑い日が増えてきましたね。
本日は知っているようでよく知らない(?)Docker についてまとめてみようと思います。
そもそも Docker とは、どんなものなので、なぜ便利なのでしょうか。
Docker とは、端的に言えば「プログラムを隔離する」ものです。
隔離することで、それぞれのプログラムごとに実行環境などを用意することができるため、「このバージョンだとプログラムA は動くけど Bは動かない」といった状況を排除することが可能になります。
この時、隔離する1単位を コンテナ とよび、コンテナ は イメージ と呼ばれるものを使って生成されます。
コンテナは隔離するための 箱 のようなもので、イメージはどのような 箱 を組み立てるか、という元になるデータという感じです。
Docker はサーバー上で使われ、以下のような構成で利用します。(少しわかりにくいですが、下から大きい環境 –> その環境の上にあるOSなど… という意味です)
コンテナ
--------------------------
Docker (Docker Engine)
--------------------------
OS (Linux OS)
--------------------------
物理マシン
また、詳しくは割愛しますが、コンテナには初めから「コンテナ内のプログラムの命令を、物理マシン上のLinux OSに伝えるための機能」が搭載されています。
これにより最小限の機能でコンテナが動作し、Docker は軽量になるように作られています。
また、上述のように Docker は Linux OS 上で動かすことが前提で、コンテナに入れるプログラムもLinux OS で動作するプログラムであることが前提です。
では、なぜ mac OS や Windows OS のマシン上でDocker が動作するのか、ということですが、そのために Docker Desktop が用意されています。
これにより、上記のようなマシンの上でも Docker が動作することになります。
https://www.docker.com/ja-jp/products/docker-desktop/
上記URLからインストールできます。使用中のOSに合わせてインストールしてください。
今回は Docker とはどういったものか、またそのDockerをローカルマシンで動かすためのツールをご紹介しました。
さらにDockerについて理解を深めていきたいですね!
山口県生まれ、山口県育ち。超インドアなので外出することは少なめですが、Webを身近に感じていただける技術トピックなどを中心にご紹介できればと思っています。よろしくお願いいたします!
REC.