🧐

【初学者】Dockerってなに?

2023/12/13に公開

先日導入したVScordにrailsの環境を作ろうと思ったときにいろいろなところから「Docker」を使用するといいと聞いたので、そもそもDockerが何なのか簡単に調べてみました。

Dockerとは

Docker(ドッカー)は、仮想化技術を利用したプラットフォームの1つで、複数のアプリケーションを同じOS上で動かすことができます。

Dockerにできること

  1. 1台のサーバー上に複数のアプリケーション実行環境(Dockerコンテナ)を作成・利用できる。
  2. アプリケーション実行環境(Dockerコンテナ)の他サーバーなどへの移転、他ユーザーとの共有。
  3. Dockerコンテナでアプリケーションの開発環境を作成し、インターネット上で他エンジニアと簡単に共有できる。
Dockerコンテナとは

Dockerコンテナは、Dockerによって作成された軽量な仮想環境です。
コンテナは、アプリケーションやその他の必要なソフトウェアコンポーネント、およびその依存関係をパッケージ化し、実行するための単位です。

メリット

軽量で高速な仮想化

Dockerコンテナは軽量であり、ホストマシン上でのリソース使用量が少ないため、高速かつ効率的な実行が可能です。また、コンテナはすぐに起動できるため、プロビジョニングやデプロイの時間を大幅に短縮することができます。

ポータビリティ

Dockerコンテナは、コンテナイメージとしてパッケージ化されており、異なる環境やプラットフォームでも動作することができます。開発環境で動作確認したコンテナをそのまま本番環境に展開することができるため、環境の一貫性を保ちつつアプリケーションをデプロイすることができます。

スケーラビリティ

複数のコンテナを同じホストマシン上で並行して実行することができます。これにより、負荷が増えた場合やトラフィック量が増加した場合でも、必要に応じてコンテナを追加することでスケールアップすることができます。

環境の再現性と独立性

開発環境やテスト環境で作成されたコンテナを本番環境でも再現することができます。開発者は自身の開発環境でアプリケーションをテストして、本番環境で同じコンテナ上でアプリケーションをデプロイすることができます。また、Dockerを使用すると、アプリケーション間の相互影響を最小限に抑えることも可能です。

Docker Desktopとは

Docker Desktopは、Dockerの使用を簡素化するアプリで、Dockerを使用するために必要な物がまとめられています。
こちらのアプリのインストールは下記より可能です。

https://docs.docker.com/desktop/install/windows-install/
自分は、インストールに関しての解説は下記の記事を参考にさせていただきました。
https://qiita.com/R_R/items/a09fab09ce9fa9e905c5
https://zenn.dev/seiya0/articles/tech-docker-desktop-for-win-install

感想

正直、今の自分には、Dockerを使用することで、コンテナごとに好きな場所にそれぞれ環境が作れるというところが、複雑な操作や他環境との干渉を防げるのだなあ~くらいのざっくり認知しかできていませんが、VScordに取り入れ触りくらいでも今のうちにできればいいなと思いました。

参考

https://www.kagoya.jp/howto/cloud/container/docker/
https://udemy.benesse.co.jp/development/system/docker.html
https://qiita.com/SatoshiSobue/items/a612ebbb3a9242c09db5

Discussion