はじめに
本記事は、プログラミング初学者が、学習を進めていて疑問に思った点について調べた結果を備忘録も兼ねてまとめたものです。
そのため、記事の内容に誤りが含まれている可能性があります。ご容赦ください。
間違いを見つけた方は、お手数ですが、ご指摘いただけますと幸いです。
Dockerについて
Dockerとは
Dockerとは、コンテナ型仮想環境を作成、実行、管理するためのプラットフォームです。
Dockerのソフトウェアを使用して素早くコンテナを起動し、さまざまなアプリケーションを実行することができます。
また、異なる環境で容易に同じ仮想環境を再現することができ、開発チームのメンバー間で同じ環境を用意する際に重宝されます。
Docker自体はGo言語で書かれています。
Dockerを学習していると出てくる用語について
Dockerイメージ
Dockerコンテナを作成するための雛形です。
Dockerイメージは、アプリケーション、ライブラリ、設定ファイルなどのアプリケーション実行に必要なものが一式まとめられたものです。
完成したアプリケーションをDockerイメージとして保存し、別のサーバーに持っていくことで同じ環境を別のサーバー上で再現することができます。
Dockerコンテナ
Dockerイメージを元に作成されるコンテナ型仮想環境のことです。
イメージからコンテナを作成することで、何度でも簡単に同じ環境を作成することができます。
また、コンテナを起動することで、予めイメージにセットアップしたアプリケーションの機能を提供することができます。
Docker Hub
Dockerイメージを保存するための機能などを提供しているサービスです。
Docker Hubから公開されているイメージをダウンロードすることで様々なコンテナを起動することができます。
nginx・Apache
Webサーバーのソフトウェアです。
MySQL・Postgrespl
データベースサーバーのソフトウェアです。
Ubuntu
Linux OSのディストリビューションの一つです。
Redis
Key-Value型でデータを保存するキーバリューストアと呼ばれるデータベースシステムの一種です。
メモリ上にデータを保持して高速に動作します。
アプリケーションのデータのキャッシュや、セッション情報の保存によく使用されます。
Node.js
Javascriptの実行環境で、サーバー上でJavascriptのプログラムを実行することができます。