Docker是什么 #1【什么是Docker】
Docker是什么?
从前的dotcloud(现在的docker)开发的LXC实用工具。
LXCとはOSの仮想化技術の1つで、VMに比べて軽量であることが特徴(コンテナと呼ばれる)。
LXCはLinuxOS上でしか動作しない。
换句话说,意思是什么呢?
Dockerは軽量な仮想マシンを簡単に構築することができ、インフラを含めたアプリ全体をまるまる、
コンテナという箱に閉じ込めることができる。また、コンテナの配布やバージョン管理も可能
で、そもそもVMでの開発とどう変わるか
Docker和Vagrant的不同之处
流浪者(+VirtualBox)
运行虚拟机的虚拟化软件包装工具
VirtualBoxの構成をVagrantfileというテキストに記述してVagrantに任せることで、ネットワークドライバの設定などを意識すること無く、ホスト環境に依存しない形で整備される
【特点】
-
- Linux以外のOSの環境が構築できるため、コンテナ型と比べて自由度が高い
-
- OSのバージョンの違い、仮想環境ツールの違い、仮想環境ツールの設定の違いなどで構築に手間がかかる
-
- VagrantとVirtualBoxのバージョンの相性によってバグがある
- 仮想環境はホストOS型と呼ばれ、ゲストOSがハードウェアにアクセスするにはホストOSを経由しなければならないため、オーバーヘッドが大きい
Docker – 操作系统虚拟化平台
OS・ミドルウェア・ファイルシステム全体をイメージという単位で取り扱い、まるごとやりとり出来るツール
【特点】
-
- 仮想環境はコンテナ型と呼ばれるもので、ホストOSを直接アクセスするためオーバーヘッドが少ない
-
- 環境構築が容易でVirtual Boxも不要
-
- コンテナは移植性(ポータビリティ)が高く、Dockerさえインストールされていれば、全く同じ環境でアプリを動かせる
- ホストOSからはコンテナは1プロセスとして認識される
Docker环境的创建历史。
Dockerは多数の専用ツールで動作するため、様々なツールが登場した反面、
使われなったツールも多く、死語も多いので解説していきます
过去,提供了用于启动Docker所需的工具的Docker Toolbox。
Docker工具箱
2015年8月12日 〜 2016年8月1日
Docker1.8.0と同時にリリースされた、Dockerまわりの環境を全部入れたインストーラ
・Docker クライアント
・Docker Machine (Docker入りVM操作ツール)
・Docker Compose (Docker複数コンテナ連携管理)
・Docker Kitematic (Dockerコンテナ用GUI)
・VirtualBox
DockerはVirtual Box環境が必須であり、
Docker MachineというVirtual Boxを操作するツールで環境設定を行わないとDockerを利用できませんでした
Docker 在 Mac / Windows 上的推出
2016年8月1日,Docker for Mac/Windows发布正式版,开始使用OS原生的虚拟环境,在不需要Virtual Box和环境配置的情况下运行,进一步提高了运行速度。
由于环境设置已经简化为只需从官方网站下载并安装应用程序,因此非常简单。
顺便提一下,在Docker Toolbox出现之前,
为了使Virtual Box和Docker配合使用,一直使用一个叫做boot2docker的工具,
但是随着Docker Machine的出现,boot2docker被官方非推荐使用了。
为什么选择Docker?
在日常开发中,存在以下利弊。
优点
-
- OS依存がなく、導入が容易
-
- 案件ごとに異なる環境を構築できるため、特定のPC依存を回避
-
- ミドルウェア導入や新インフラ環境のテストが各自のPCで可能
-
- 言語やツールのバージョンアップテストが容易
- チームメンバー全員が各自のPCでデバッグ可能になる
不利之处.
- 学習コスト
最后
經過調查,雖然學習成本是存在的,但考慮到環境建置的方便以及Docker社群的蓬勃發展,我認為現在是開始學習Docker的最佳時機。
早速、公式サイトからDocker for Mac / Windowsをダウンロードしてインストールしてみてはどうでしょうか
链接
Docker基础教程 #2 【Docker教程】
Docker基础教程 #3 【搭建WordPress环境】
Docker基础教程 #4 【搭建CodeIgniter环境】
Docker基础教程 #5 【搭建Ruby on Rails5环境】
Docker 命令速查表