i-Vinci TechBlog
株式会社i-Vinciの技術ブログ

Docker入門

こんにちは。i-Vinci 西村です。
次案件でDockerを使う事になったので、すこし触ってみました。
簡単な入門編ですが、Docker入門者の方に少しでも参考になれば嬉しいです!
記事の内容に関して間違いや、こうした方がいい等のアドバイス等ありましたら、気軽にコメントください。

では、はじめて参りましょう!
※前提

  • 使用PC:Mac

Dockerって何?

Dockerとはざっくりと言うと、プログラムを実行環境から隔離し、安全な実行や、複製を容易とするコンテナ型仮想化技術の代表格です。
従来の仮想マシンは、OSから仮想化する為、「起動が重い」、「リソースを多く必要とする」事に対し、
後継のコンテナ型仮想化技術は、OSは仮想化せずホストのOSを使用する事で、「起動が早い」、「少ないリソースで動かせる」というメリットがあります。

Dockerのインストールから起動まで

1.Dockerをインストールする

インストール方法は公式ページに丁寧に記載されています。
お使いのOSによってインストールするものは異なるので、下記公式ページからそれぞれ適したものをインストールして下さい。
Docker公式ページ

2.バージョン確認をする

インストールが無事完了したことを確認する為、Docker, Docker composerのバージョンを確認してみましょう。
ターミナルで、下記コマンドを打ち込みます。
docker -v
docker composer -v


※Docker composerとは、複数のコンテナを操作する際に使うツールですが、今回は使用しません。

3.ターミナルよりコンテナを起動する

コンテナの起動には、「イメージ」と呼ばれるのパッケージ(ファイルやメタ情報の集合体)が必要です。
そのイメージは「WEB上のDocker Hubから取得する方法」と「自分で作成する方法」があります。
今回は入門書編として、前者を説明していきます。
インストール後、Dockerを開くと下記の様な画面が表示されます。

※表示されているコマンドは、Docker Hubよりチュートリアル用のイメージを取得して、コンテナを起動する物です。

今回は、チュートリアル用のコンテナではなく、nginxを起動してみましょう。
下記コマンドをターミナルに打ち込み、Docker Hubよりnginxのイメージを取得し、コンテナを起動します。
docker run --name some-nginx -d -p 8080:80 nginx
基本的な構文は下記の通りです。
docker run [オプション] イメージ

オプション意味
--name コンテナ名コンテナに名前をつける。
-ddetachの意味。バックグラウンドでコンテナを起動する。
-p ホストのポート:コンテナのポートホストのポートとコンテナのポートをつなげる

※起動時オプションの詳細は公式ドキュメントを参照。

※既に起動してるプロセスのポートが被って起動に失敗する場合は、既に起動してるプロセスを落とすか、別のポートでコンテナを起動しましょう。
起動に成功すれば、下記の様にRUNNINGと表示されます。

Docker Hubにはnginx以外にapacheなど他にも様々なイメージがあるので、試してみることをお勧めします!

4.コンテナが起動できているか、確認する。

ブラウザから下記URLにアクセスします。
http://localhost:8080
※ポートは適宜読み替えて下さい。

下記の様な画面が出れば、コンテナ起動成功です!

まとめ

以上、Dockerインストールからコンテナ起動までまとめてみました。
いかがでしたでしょうか。少しでもご参考になれば、嬉しいです!
次回はもう少し応用編のような記事を書く予定です。