6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者】Dockerのインストール

6
Last updated at Posted at 2022-09-22

Dockerとは

  • Dockerは、アプリケーションの実行に必要な環境を1つのイメージにまとめ、そのイメージを使い、さまざまな環境でアプリケーション実行環境を構築・運用するためのプラットフォーム
  • Dockerではコンテナという技術を使い、アプリケーションを他のプロセスから隔離して動作させる
    • コンテナ内のアプリケーションから見ると、独立したコンピュータ上で動作しているように振る舞う
  • 仮想マシンのようにOS全体を起動する方式ではないため、比較的軽量に起動しやすい

Dockerはいつ使われるのか

  • アプリケーション開発で多く使われる
    • 理由は、チームの開発環境を同じにできるため
      • インストールしているアプリケーションやOSのバージョンなどは個々によって異なり、皆が同じ環境を持っていることはほぼない
      • チームで開発をする際、それぞれのPCの状態が違うとアプリケーションの動きも違ってくる(→正しく開発が進められない)

開発に必要なソフトをまとめて用意でき、メンバーの開発環境を同じ状態にできるのがDockerのメリット

Dockerのインストール(Mac)

1. Apple silicon版またはIntel chip版を選んでダウンロードする

例)Apple silicon版の場合: Docker Desktop for Mac with Apple silicon ボタンを押下

2. Applicationにドラック&ドロップ
3. Dockerアプリを起動したらメニューバー(Macの画面上部)にクジラアイコンが表示される
4. iTerm2(terminal)でバージョンを確認
terminal
$ docker --version

Docker version 27.4.0, build bde2b89
と、上記のように表示されていればOK!

Dockerの仕組み

terminal
$ docker run hello-world

Hello from Docker!と出力されていたら成功

起こっていること

Dockerが何をしているのかをしっかりと理解しておくことが大事

$ docker run hello-worldとコマンドを実行することで

1. Dockerクライアント(依頼主)がDockerデーモン(バックグラウンドで動作し続けるアプリ)にコマンドを送る

※Dockerクライアントは、ターミナルで実行する docker コマンドのこと

2. Dockerデーモンがコマンドを受け取る
3. hello-worldイメージを確認する

hello-world イメージがローカルにない場合、Docker HubなどのDockerレジストリから取得する

4. 取得したイメージからコンテナを作成して起動する
5. コンテナ内の処理が実行され、Hello from Docker! と表示される
用語 説明
Dockerイメージ コンテナを作成するためのテンプレート。アプリケーションを動かすために必要なファイル、ライブラリ、設定などを含む
Dockerレジストリ Dockerイメージを保存・共有する場所。Docker Hubは代表的なDockerレジストリ
Dockerコンテナ Dockerイメージをもとに構築されるアプリケーションの実行環境のこと(後述

コンテナとは

コンテナとは、ホストOS上に他のプロセスから隔離された論理的な区画を作り、その中でアプリケーションを動作させる仕組みのこと。

コンテナはDockerイメージをもとに作成され、アプリケーションの実行に必要なファイルやライブラリ、設定などを持った状態で動作する。

そのため、コンテナ内のアプリケーションから見ると、独立したコンピュータ上で動作しているように振る舞う。

ただし、コンテナは仮想マシンのようにOS全体を起動するわけではない。ホストOSのカーネルを共有して動作するため、仮想マシンと比べて軽量に扱いやすい。

Linux

  • LinuxはOSの一種
    • OSはコンピュータを動かすための基本ソフトのこと
  • Webサービスのサーバー環境では、Linuxが使われることが多い

Dockerで扱うコンテナイメージには、Linux系のファイルやライブラリをベースにしたものが多いため、基本的なLinuxコマンドを知っておくと役立つ

Docker使用時の注意点

1. 容量が減らない場合がある

  • Dockerを使っていると、停止済みのコンテナ、使っていないイメージ、ビルドキャッシュなどが残り、PCの容量を圧迫することがある
    • 気づかないうちにPCの容量が足りなくなってしまうことも
    • 未使用のDockerデータを削除したい場合は、下記コマンドを実行する
terminal
$ docker system prune

docker system prune は、停止済みコンテナ、使われていないネットワーク、dangling image、未使用のビルドキャッシュなどを削除するコマンドです。

ボリュームはデフォルトでは削除されません。すべての未使用イメージまで削除したい場合は -a、ボリュームも削除したい場合は --volumes を指定します。

必要なコンテナやイメージまで削除しないよう、実行前に内容を確認してください。

2. 仮想マシンとは用途が異なる

  • Docker以外のVMwarePlayerなどは別のOSの仮想環境を作ることが可能
    • VMwarePlayerの例:WindowsのPCにLinuxの仮想環境を作り、Linuxでしか使えないアプリケーションを使うことが可能
  • DockerはPCに元々入っているOSからコンテナという仮想環境を作る
    • そのため、仮想マシンのように別のOS全体を起動する用途には向いていない
    • Dockerは、アプリケーションの実行環境をそろえる目的に向いている

どのような環境が必要なのか、どんな利用をするのかを考えてDockerを利用する

NextStep

6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?