◆はじめに
Dockerの使い方:コンテナ化の基本から実践まで
仮想マシンとは、「ハードウェアの一部をソフトウェアで実現した物理マシンのようにみえるもの」です。
Docker は、アプリケーションやサービスをコンテナと呼ばれる独立した環境で実行するためのツールで仮想化コンテナとなります。
「コンテナ化すると何がいい?」
結論:Docker(コンテナ型仮想化)を使用すると各PCで違うOSの環境の違いが生じても同様の開発環境を実現してアプリケーションを実行することが出来るという内容となります。
◆. Dockerのインストール
まずは、お使いの環境に Docker をインストールが可能です。
公式サイト
(https://www.docker.com/)から、対応するOSに合わせた Docker Desktop をダウンロードしてインストールします。
インストールが完了したら、起動して動作を確認してみます。(Docker desktopは2022年 2月 に有料化したので代替としてRancher Desktopを使用する方も多いです。)
参考:Docker / Docker Desktop / Rancher Desktop って何が違うの?
まず、公式のイメージを使って Hello World アプリを実行してみましょう。
$ docker run hello-world
次に、簡単な Web サーバーを Docker コンテナとして実行してみます。
$ docker run -d -p 8080:80 --name my-web-server nginx
これで、Docker が NGINX のイメージをダウンロードし、Web サーバーをポート8080で実行します。
◆ Dockerコマンド
コマンド | 意味 |
---|---|
docker run | コンテナの実行 |
docker ps | 実行中のコンテナの一覧表示 |
docker images | イメージの一覧表示 |
docker pull | イメージのダウンロード |
docker stop | 実行中のコンテナの停止 |
docker rm | コンテナの削除 |
docker rmi | イメージの削除 |
◆Dockerの使用方法
では実際にdockerの扱い方について解説致します。
Dockerの類似ツールとしては、コード管理ツールのGitを想像いただけると理解しやすいです。
Docker の基本的な使い方を以下にご紹介します!
まず、コンテナの実行に必要なパッケージをまとめた「イメージ」というものが存在します。
上記、イメージはGithubのようにdockerhubに保存されています。
今回は、開発現場で必要なフローのみ紹介します。
1, まずはDocker Hubからコンテナの元となるイメージを取得する
(※containerは2017年に追加されたもので結論なくても実行される)
◆取得したイメージを元にコンテナ起動
これだけの作業になります。
◆新規作成する場合
上記のように参考となるイメージを取得
⇒ Dockerfile(設定ファイル)に変更を記述
⇒ Docker Hubにpushする
等が必要です。
実際の開発プロセスではすでに構築されていることも多く、その場合、既に作られたgithubからdockerfileを取得して環境構築を行うことが多いです。
参考及び画像引用:Docker Hubを使ってGitHubにあるDockerfileからimageを自動生成する
◆まとめ
Docker を使うことで、開発やデプロイのプロセスを効率化し、環境の一貫性を保つことができます。このブログでは、Docker の基本的な使い方を紹介しましたが、さらに多くの機能や応用があります。ぜひ、公式ドキュメントや他のリソースを参考に、Docker の活用方法を学んでみてください。