Dockerとは?基本的な使い方6つや知っておきたい用語を解説

Dockerとは?
Dockerとは、アプリケーションを開発・実行するためのオープンプラットフォームです。
コンテナには、ライブラリ、システムツールなど、ソフトウェアの実行に必要なすべてのものが含まれていて、ソフトウェアコンテナ内のアプリケーションデプロイメントを自動化します。
また、「アプリケーション」や「OS」をパッケージイメージ化することにより、極めて集約度の高いITシステムを実現しています。
どのような環境にもアプリケーションをすばやくデプロイおよびスケールでき、コードを実行することができます。
Dockerの基本的な使い方6つ
ここでは、 Dockerの基本的な使い方を6つご紹介します。Dockerは「Linux」「Windows」「Mac」の全てにおいて利用することが可能です。
一つ一つの基本作業を確実に進めていき、確実にコマンドを実行していけば問題なく動きます。まずは、Dockerをインストールするところからはじめていきましょう。
以下で使い方を詳しく説明しますので、参考にしてみてください。
使い方1:Dockerをインストールする
Dockerの基本的な使い方1つ目は、「Dockerをインストールする使い方」です。
Dockerは「Mac」「Windows 10 Pro」「Windows 10 Home」にもインストールすることは可能です。お使いのOSにインストールしてDockerを利用してみましょう。
Mac
DockerをMacにインストールする使い方には、Dockerの公式サイトからDockerのアカウントを作ってログインし、DockerHubからダウンロードしてインストールします。インストールした後は正しくインストールされているのか確認するようにしましょう。
次に、Nginxを起動してみてください。Nginxが立ち上がっているかを確認できたら、localhostにアクセスしてブラウザで確認してみてください。
Windows 10 Pro
Windows 10 Proでは「Hyper-V」「Bash on Ubuntu on Windows10」「Docker for Windows」など、マルチプラットフォーム対応ツールを利用できます。
Docker MachineというLinuxベースの仮想マシン内でコンテナが実行されるため、Docker for WindowsにはHyper-Vが必要となります。Hyper-Vに対応していないWindows 10環境でDockerコンテナを試したい場合は、Docker Toolboxを利用するようにしましょう。
まずHyper-Vの機能を有効化しておきます。次にDocker for Windowsのサイトからインストーラーをダウンロードし、実行します。続いて、コマンドプロンプトにてDockerの「hello-world」コンテナを実行し、バージョン情報などを確認するためにコマンドを実行します。
以上で環境のセットアップが完了します。
Windows 10 Home
DockerをWindows 10 Homeにインストールするには、まずCPU仮想化を確認する必要があります。
タスクマネージャーパフォーマンスからCPUにおいて、仮想化が有効となっていれば問題ありません。もし有効になっていない場合は有効にする必要があります。
次にDocker Toolboxを入手します。画面に従ってインストールしてください。デスクトップにDocker Quickstart Terminalのショートカットが表示されますので、そこから起動します。
使い方2:Docker Hubから取得する
Dockerの基本的な使い方2つ目は、「Docker Hubから取得する使い方」です。特定のイメージをダウンロードするには、イメージをDocker Hubから取得する必要があります。
DockerイメージをDocker Hubからダウンロードするときは、Docker image pullコマンドを使用し、Dockerイメージの詳細情報を確認するには、Docker image inspectコマンドを使用します。
また、Dockerイメージの削除は、Docker image rmコマンドで行うことができます。使い方を復習しておきましょう。
使い方3:Nginxコンテナを起動する
Dockerの基本的な使い方3つ目は、「Nginxコンテナを起動する使い方」です。まず、DockerホストOS上でDockerコンテナを作成します。
次にDockerホストOSからDockerコンテナ内のNginxへアクセスします。続いてDockerホストOS以外の他のサーバからDockerコンテナ内のNginxへアクセスし、DockerホストOS上で起動したDockerコンテナを停止・削除します。
基本的な使い方を確認しておきましょう。
使い方4:Nginxコンテナを生成する
Dockerの基本的な使い方4つ目は、「Nginxコンテナを生成する使い方」です。
Dockerを作成するDockerコンテナの環境は「CentOS release 6.6 (2.6.32-504.8.1.el6.x86_64)」「docker-io 1.4.1-3」「CentOS release 6.6 (2.6.32-504.8.1.el6.x86_64)」「Nginx 1.6.2-1」です。
まずDockerホストOSのCentOS 6.6サーバにrootユーザでログインします。次にDockerイメージ作成用のDockerfileを作成します。
最後に、docker0のIPアドレスを指定して、Dockerコンテナ内のNginx経由でindex.htmlへアクセスできるか確認しましょう。
使い方5:Nginxコンテナを停止する
Dockerの基本的な使い方5つ目は、「Nginxコンテナを停止する使い方」です。
DockerホストOS以外の他のサーバからDockerホストOSのIPアドレス(今回の例では198.51.100.111)を指定して、Dockerコンテナ内のNginxへアクセスできるかをテストしましょう。
Dockerコンテナ内のNginxへアクセスし、「/usr/share/nginx/html/index.html」の内容が表示される事を確認します。使い方自体は簡単です。
使い方6:Nginxコンテナを削除する
Dockerの基本的な使い方6つ目は、「Nginxコンテナを削除する使い方」です。イメージを削除するには、まずそのイメージに紐づくコンテナを削除している必要があります。
しかし、forceオプションによる強制削除も可能となっています。 Nginx用のDockerイメージを失くしたい場合は、docker rmiコマンドを実行してDockerイメージを削除するようにしましょう。
使い方としては難しくありません。
Dockerを導入するメリット4つ
Dockerを導入することには、さまざまなメリットがあります。
ここからは、Dockerを導入するメリットについて具体的に紹介していきますので、導入を検討している方はぜひ参考にしてみてください。
環境の共有が容易にできる
Dockerを導入しておけば、同じDockerイメージをダウンロードしてコンテナを作成することで、環境構築マニュアルなどを使用せずに簡単に環境を共有できるようになります。
また、テストだけでなく本番環境でも同じ手順でコンテナの利用が可能なため、環境を統一して開発を進められます。
環境構築に時間がかからない
Dockerは環境構築が容易に行えるだけでなく、DockerイメージについてまとめたドキュメントやGitHuも多いことから、誰でも短時間での環境構築が可能です。
自分で一から構築しなくても、希望しているDockerイメージに近いものをダウンロードするだけですぐに利用を開始できます。
Dockerに特化したWebサービスがある
Dockerでの利用を想定しているさまざまなWebサービスがあることから、Dockerを利用することで便利なサービスを利用できます。
たとえばCircleCIなどを利用することで、Dockerを利用したテストやビルド、デプロイを自動化することができます。
リソースの消費を抑えられる
従来のハイパーバイザー型の仮想化では仮想マシン上でOSを実行していたため、リソースが必要でしたが、コンテナの場合はアプリケーションの実行のみです。
そのため、Dockerはこれまでの仮想化と比較して、ディスクやメモリなど、リソースの消費が少ないこともメリットとなります。
Dockerを使う上で知っておきたい10の用語
ここでは、Dockerを使う上で知っておきたい用語をご紹介します。 ark>
「Docker image」「Docker Engine」「Dockerfile」「ビルド」「リポジトリ」「コピー・オン・ライト(copy-on-write)」「Docker Datacenter」「Docker for Mac」「Docker for Windows」、そして「レイヤ」という10種類の用語について、以下に詳しく説明します。
用語1:Docker image
Dockerの用語1つ目は、「Docker image」です。「Docker image」とはコンテナの土台となるもので、Dockerではダウンロードした「Docker image」をホスト上で保管しています。
ホスト上に「Docker image」がない場合はレジストリからダウンロードを行います。
用語2:Docker Engine
Dockerの用語2つ目は、「Docker Engine」です。「Docker Engine」とはDockerのコアコンポーネントで、Dockerイメージの作成やコンテナの起動などを行います。
Linuxカーネルによって処理を行います。
用語3:Dockerfile
Dockerの用語3つ目は、「Dockerfile」です。「Dockerfile」とは、Docker上で動作させるためのコンテナの構成一つ一つの情報を書き表すためのファイルです。
通常は、手動でDockerイメージを構築するために実行が必要な全ての命令を指します。Dockerは Dockerfileの命令を読み込み、自動的にイメージを構築します。
用語4:ビルド
Dockerの用語4つ目は、「ビルド」です。「ビルド」とは、Dockerを使ってソースコードに問題(バグ)がないか解析を行いイメージを構築し、問題がなければ実行できる形のファイルに変換し組み立てることです。
ちなみに、コンパイルはビルド作業の中に含まれる作業の一段階です。また、構築時にはDockerfileと「コンテクスト」を使います。
用語5:リポジトリ
Dockerの用語5つ目は、「リポジトリ」です。「リポジトリ」とは、Dockerイメージの集まりです。
リポジトリはレジストリサーバに送信すると共有できます。そのため、イメージの違いをタグでラベル付けします。
用語6:コピー・オン・ライト(copy-on-write)
Dockerの用語6つ目は、「コピー・オン・ライト(copy-on-write)」です。「コピー・オン・ライト(copy-on-write)」は、イメージとコンテナのリソース最適化とスピード性能をたもつために、Dockerはユニオン・ファイル・システムを使います。
また、レイヤに対する変更が可能であり、このレイヤは削除されます。一般的には書き込み可能なレイヤの下にはベース・イメージを基礎としており、ベース・イメージとは異なったレイヤを積み上げます。
これによりイメージの容量を最小化し、開発環境でイメージを共有できるようになります。
用語7:Docker Datacenter
Dockerの用語7つ目は、「Docker Datacenter」です。「Docker Datacenter」とは、Dockerで構築するプラットフォームをエンタープライズに強化するもので、サブスクリプションを基本とするサービスです。
Dockerネイティブのツールを統合することで、オンプレミスのCaaSプラットフォームが構築されます。組織における開発からプロダクションへのアプリケーション構築をスムーズに行えます。
用語8:Docker for Mac
Dockerの用語8つ目は、「Docker for Mac」です。「Docker for Mac」とは、macOS上でDockerを使う場合、「Docker for Mac」 はDocker Toolboxの後継としてMac向けに特化したものです。
Docker for Macはインストールが簡単で軽量に設計されています。「Docker for Mac」 はVirtualBox 無しにDockerを扱うことができるアプリケーションです。
また、「Docker for Mac」 を導入すると、Dockerの他にDocker Composeも使えるようになります。
用語9:Docker for Windows
Dockerの用語9つ目は、「Docker for Windows」です。「Docker for Windows」とは、Windows 10システム向けに特化した軽量なDockerです。
また、クライアント・ベースのオペレーティングシステム(Windows 10)上でDockerコンテナを設定するための製品です。
「Docker for Windows」 は、Windows Server 2016上でもオプションを切り替えるだけでWindowsコンテナの迅速なセットアップや実行を行えます。
用語10:レイヤ
Dockerの用語10個目は「レイヤ」です。「レイヤ」とは、イメージ内部においてイメージに対する変更のことです。
これらはDockerfile内における命令を意味します。コンテナ上の読み書き可能なレイヤをコンテナレイヤと呼び、イメージを構成する読み込み専用レイヤをイメージレイヤと呼びます。ベース・イメージから最終的なイメージを作成するまでレイヤは順番に重なります。
イメージの更新や再構築時は、更新が必要となるレイヤのみを変更し、変更のないレイヤはローカルでキャッシュします。
Dockerの使い方を覚えよう!
今回は、Dockerの基本的な使い方や、Dockerの用語について詳しくご紹介しましたが、いかがでしたでしょうか。
Dockerを使うとコードを早く出荷できたり、アプリケーションの動作を標準化したり、コードをシームレスに移動したり、リソースの利用を改善して費用を節約できたりできます。
また、アプリケーションをパッケージイメージ化することにより、集約度のとても高いITシステムを実現することができます。
広く支持され、注目されているDockerをインストールして、始めてみましょう。
FEnetを運営しているネプラス株式会社はサービス開始から10年以上
『エンジニアの生涯価値の向上』をミッションに掲げ、
多くのインフラエンジニア・ネットワークエンジニアの就業を支援してきました。
ネプラス株式会社はこんな会社です
秋葉原オフィスにはネプラス株式会社をはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
インフラ業界に特化
ネットワーク・サーバー・データベース等、ITインフラ業界に特化。Cisco Systemsプレミアパートナーをはじめ各種ベンダーのパートナー企業です。
業界を知り尽くしているからこそ大手の取引先企業、経験豊富なエンジニアに選ばれています。
-
正社員なのにフリーランスのような働き方
正社員の方でも希望を聞いたうえでプロジェクトをアサインさせていただいており、フリーランスのような働き方が可能。帰社日もありません。
プロジェクト終了後もすぐに次の案件をご紹介させていただきますのでご安心ください。
-
大手直取引の高額案件
案件のほとんどが大手SIerやエンドユーザーからの直取引のためエンジニアの皆様へに高く還元できています。
Ciscoをはじめ、Juniper、Azure、Linux、AWS等インフラに特化した常時300件以上の案件があります。
-
スキルアップ支援
不要なコストを削減し、その分エンジニアの方へのスキルアップ支援(ネットワーク機器貸出、合格時の受験費用支給など)や給与で還元しています。
受験費用例)CCNP,CCIE:6-20万円、JNCIS:3-4万円、AWS:1-3万円など
※業務に関連する一定の資格のみ。各種条件がありますので詳しくは担当者へにお尋ねください。
-
現給与を保証します!※
前職の給与保証しており、昨年度は100%の方が給与アップを実現。収入面の不安がある方でも安心して入社していただけます。
※適用にはインフラエンジニアの業務経験1年以上、等一定の条件がございます。
-
インセンティブ制度
ネットワーク機器の販売・レンタル事業等、売上に貢献いただいた方にはインセンティブをお支払いしています。
取引先企業とエンジニア側、双方にメリットがあり大変好評をいただいています。
-
社会保険・福利厚生
社員の方は、社会保険を完備。健康保険は業界内で最も評価の高い「関東ITソフトウェア健康保険組合」です。
さらに様々なサービスをお得に利用できるベネフィットステーションにも加入いただきます。
-
東証プライム上場企業グループ
ネプラスは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
ネプラス株式会社に興味を持った方へ
ネプラス株式会社では、インフラエンジニアを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
オンライン面接も随時受付中。ぜひお気軽にご応募ください。


新着案件New Job
-
【高額年収】/【CCNA取得者歓迎】/ネットワークの構築/BIG-IP/東京都千代田区/【WEB面談可】/在宅ワーク/20代~30代の方活躍中
年収540万~540万円東京都千代田区(神保町駅) -
東京都中央区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅ワーク
年収600万~600万円東京都中央区(小伝馬町駅) -
【高額年収】/インフラ構築支援/東京都港区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/在宅ワーク
年収960万~960万円東京都港区(新橋駅) -
ガバナンス推進、セキュリティ基盤支援/東京都港区/【WEB面談可】/在宅ワーク/20代~40代の方活躍中
年収780万~780万円東京都港区(新橋駅) -
カー用品販売会社の情報システム運用/東京都千代田区/【WEB面談可/インフラサーバ経験者/20~40代の方活躍中】/テレワーク
年収576万~576万円東京都千代田区(水道橋駅) -
ネットワーク構築、検証/東京都渋谷区/【WEB面談可】/テレワーク/20代~40代の方活躍中
年収540万~540万円東京都渋谷区(渋谷駅)