想定読者
- Dockerについてものすごくざっくり知りたい人
- ハイパバイザ型とかホスト型とかそう言う話は調査済みもしくはあとで調べればいいと思っている人
Dockerとは
Dockerを使えば、OSとアプリがインストールされた環境を閉じ込めて保存しておき、いつでもその環境を立ちあげることができます。"perlをインストールしたUbuntu"とか"JavaとpythonをインストールしたCentOS"みたいな色々なパターンを簡単に作成して保存・立ち上げが可能です。
用語
なるべく事前知識がなくても理解できるようにDockerの用語を冷凍チャーハンに例えて説明します。
*厳密性に関してはご容赦ください
ファイル系
用語 | 説明 | 例えると |
---|---|---|
Dockerイメージ | OSとアプリがインストールされた環境を閉じ込めたファイル | 冷凍チャーハン |
コンテナ | 解放されたOSとアプリの環境 | 皿に盛ったチャーハン |
Dockerfile | Dockerイメージ作成時に実行するコマンド等を列挙したファイル | チャーハンのレシピ |
サービス・ツール系
用語 | 説明 | 例えると |
---|---|---|
Docker Hub | ベースとなるDockerイメージがあるサイト | 多様な冷凍チャーハンがおいてある倉庫 |
Docker Compose | 複数のコンテナを同時に扱うためのツール | 複数段あって温め順等を設定できる高機能な電子レンジ |
コマンド系
コマンド | 説明 | 例えると |
---|---|---|
docker build 〜 | DockerfileをビルドしてDockerイメージを作成する | 冷凍チャーハン製造機を起動し製造を開始する |
docker run 〜 | Dockerイメージをrunしてコンテナを立ち上げる。 オプション指定で、特定ディレクトリのマウントや起動/終了時の処理指定などが可能。 |
冷凍チャーハンを解凍する。 解凍後、餃子をセットで食べるか、食前の下ごしらえ/食後の片付けをどうするかなども決められる。 |
docker pull 〜 | Docker HubからDockerイメージをダウンロードする | 倉庫から特定の冷凍チャーハンを持ってくる |
[ctrl-d] | 起動中のコンテナの中から外に出る&コンテナを停止する | チャーハンを食べるのをやめて冷ます |
[ctrl-p] [ctrl-q] | コンテナを起動したままコンテナの中から外に出る | チャーハンののった皿を保温剤にのせてラップをする |
docker exec 〜 | 起動中のコンテナの中に入る | ラップしてあるチャーハンのラップを外す |
docker start 〜 | 停止中のコンテナを起動する | 冷めたチャーハンを温める |
docker stop 〜 | 起動中のコンテナを停止する | チャーハンを冷ます |
docker restart 〜 | コンテナを再起動する | チャーハンを冷まして温める |
docker images | Dockerイメージの一覧を表示する | 冷凍庫にある冷凍チャーハンの一覧をみる |
docker rm 〜 | コンテナを削除する | チャーハンを皿ごと捨てる |
docker rmi 〜 | Dockerイメージを削除する | 冷凍チャーハンを捨てる |
docker ps | 起動中のコンテナ一覧を表示する | あったかいチャーハンがのった皿を全て見る |
docker ps -a | 停止中のコンテナも含めて全てのコンテナ一覧を表示する | 冷めたチャーハンも含めてチャーハンがのった皿を全て見る |
docker commit 〜 | コンテナをイメージ化する | 食べていたチャーハンを再冷凍する |
docker save 〜 | Dockerイメージをtar.gz形式で保存する | 冷凍チャーハンを冷凍庫だけでなくクーラーボックスにもおいておく |
docker load 〜 | tar.gz形式で保存されたDockerイメージをインポートする | 冷凍チャーハンをクーラーボックスから冷凍庫に入れる |
終わりに
"冷凍チャーハン"ばかり打ってたら冷凍チャーハンがゲシュタルト崩壊したのでとりあえずここまでにします...。docker composeだったり他の細かいコマンドも書こうかと思ったのですが、とりあえずまた気が向いた時に追記しようかなぁ...といった感じです。ちなみに、冷凍チャーハンにした深い理由は特にないです。ansibleやvagrant等は何になるんでしょうか。どなたか記事書いてくださいませんかね。読んでいただきありがとうございました。