Dockerとは
- Docker社が開発した仮想環境を作るためのソフトウェアのこと
- DockerはPCの中に別のOSを作らず、PCに元々入っているOSからコンテナという仮想環境を作成する
- OSをわざわざ開かなくてもアプリケーションを使えるため起動が早い
- OS、ライブラリ、アプリケーションコードがひとまとまりになっており、Dockerを使えばアプリケーションを動かすことができる
仮想環境とは
- PCなどのハードウェア内で構築された仮想的な環境
- PCの中に作られたPCに似たような環境のこと
- 仮想環境の中でアプリケーションを動かすことができる
Dockerはいつ使われるのか
- アプリケーション開発で多く使われる
- 理由は、チームの開発環境を同じにできるため
- インストールしているアプリケーションやOSのバージョンなどは個々によって異なり、皆が同じ環境を持っていることはほぼない
- チームで開発をする際、それぞれのPCの状態が違うとアプリケーションの動きも違ってくる
- よって、正しく開発が進められない
- 理由は、チームの開発環境を同じにできるため
そこで、Dockerを使えばそれぞれが同じ仮想環境を作ることができる
開発に必要なソフトをまとめて用意でき、メンバーの開発環境を全く同じ状態にできるのがDockerのメリット
Dockerのインストール(Mac)
1. 遷移先のApple Chipをクリックしダウンロード
2. Applicationにドラック&ドロップ
3. Dockerアプリを起動したらメニューバー(Macの画面上部)にクジラアイコンが表示される
4. iTerm2(terminal)でバージョンを確認
terminal
$ docker --version
Docker version 20.10.17, build 100c701
と、上記のように表示されていればOK!
Dockerの仕組み
terminal
$ docker run hello-world
Hello from Docker!
と出力されていたら成功
起こっていること
Dockerが何をしているのかをしっかりと理解しておくことが大事
$ docker run hello-world
とコマンドを実行することで
1. Dockerクライアント(依頼主)がデーモン(バックグラウンドで動作し続けるアプリ)にタスクを実行するよう伝える
2. Dockerデーモンがコマンドを受け取る
3. hello-world
というDockerのイメージをDockerレジストリから取得してくる
(Dockerレジストリにアップしておき、必要な時はDockerデーモンがレジストリからイメージを自分のPCに取得)
4. 取得したイメージからコンテナを作成して起動
5. Hello from Docker!
と表示される
| 用語 | 説明 |
| --- | --- |
| Dockerイメージ | アプリコードとOSをひとまとまりにしたテンプレートファイル(コンテナを立ち上げる際に必須) |
| Dockerレジストリ | イメージをオンライン上で保存しておく場所 |
| Dockerコンテナ | イメージから生成された仮想サーバ |
Linux
- LinuxはOSの一種
- OSはコンピュータを動かすための基本ソフトのこと
- WebサービスはLinux上で開発するのが主流
Dockerを使う時、OSはLinuxを使っているためLinux操作は必須
Docker使用時の注意点
1. 容量が減らない場合がある
- イメージやコンテナを削除しても、ファイルがゴミとして残ってしまいPCの容量が圧迫されることがある
- 気づかないうちにPCの容量が足りなくなってしまうことも
- その場合は下記コマンドを実行
- ファイルをゴミとして残さず、PCの容量を減らすことができる
terminal
$ docker system prune
2. 一つのOSしか使えない
- Docker以外の
VMwarePlayer
などは別のOSの仮想環境を作ることが可能- VMwarePlayerの例:WindowsのPCにMacOSの仮想環境を作り、Macでしか使えないアプリケーションを使うことが可能
- DockerはPCに元々入っているOSからコンテナという仮想環境を作る
- そのため、別のOSの仮想環境を作ることはできない
どのような環境が必要なのか、どんな利用をするのかをまず考えDockerを利用する
NextStep