🐳

Dockerのすゝめ

2022/09/11に公開

Dockerとは

Docker社が提供しており、
「コンテナ仮想化」によってアプリケーションの開発を開発環境、ステージング環境、本番環境をチーム全体で統一できるオープンプラットフォームです。Windows、Linux、Macなどに対応しており、「コンテナ」と呼ばれる仮想環境でアプリケーションやOSなどを動かすことができます。

コンテナ仮想化とは

一般的な仮想化ではゲストOSレベルでの同一の環境が必要でしたが、Dockerではコンテナごとに「Dockerイメージ」を使いDokcerエンジンで動かすことにより、高速で軽量な環境構築ができます。

MacやWindowsの場合はDokcerエンジンの裏でLinuxの仮想マシンが動いており、コンテナもLinuxの仮想マシンで動いています。

Dockerイメージとは

Dokcerイメージとは、コンテナを作るための動作環境テンプレートのようなものでどのようなコンテナ(OSやWebサーバ)を作るかなどが書かれています。
その元となるものが「ベースイメージ」であり、Docker Hubなどで公開されています。このベースイメージを編集していったものがレイヤであり、コンテナに反映されていきます。
コンテナはレイヤの集まりで形成されており、このレイヤを編集していくことでより理想のコンテナ(環境構築)ができます

Docker Hub

https://hub.docker.com/search?q=&type=image

Dokcerfileとは

Dockerイメージにも「Docker file」というDockerイメージを自動で作成してくれるファイルがあります。一般的にはDokcer fileを作成、Dockerイメージを自動作成、コンテナを起動します。


次回はDockerの基本的な使い方について書いていこうと思います


そのほか書きたいこと

  • DockerでVScodeやAndroid Studioの環境構築(Flutter)
  • AWSについて
  • AWS & Dockerについて
  • SupaBaseやFirebaseについて
  • Rustについて

Discussion