【Docker】部屋を綺麗にして、dockerを使い始めました.
Dockerについて
DockerはGo言語を使って作成した仮想化ソリューションで、非常に軽量で使いやすいです.
なぜDockerを使いますか?
なぜDockerを使うかというと、簡単にネットでDockerを使う長所をたくさん見つけられると思います.一回の配置、あちこちの運転、より効率的な仮想化、より簡単に管理するなどです.しかし、私個人にとっては、Dockerを使って、私の仕事環境を綺麗にすることができます.ここまで言えば、仕事のやり方を話します.
1.石器時代
最初はパソコンは仕事のコンピュータで、仕事の娯楽はすべて同じコンピュータの上で行います.普通なら、ちょっと整理しておきます.例えば、違うフォルダに置いたり、違うディスクに置いたりします.しかし、いずれにしても、ソフトウェアのインストール、削除、アップグレードに従って、ファイルの削除、ゆっくりとコンピュータの中のファイルのかけらはだんだん多くなります.よくある例えばwindowsコンピュータのCドライブはますます大きくなって、中はすべていくつかの奇怪なファイル名のファイルで、すべてどれらが削除することができますかを知らないで、どれらが削除することができますか?
2.青銅時代
いくつかの仮想マシンやデュアルシステムの知識を知っていると、デュアルシステムのインストール、仮想マシンのインストールを選択して、作業環境の分離を保証することができます.例えば、以前からVirtual boxとは違ったシステムで違うことをしていました.でも、このような仮想マシンは起動が遅いです.抽象的に見れば、もう一台のコンピュータなので、あなたの一台は二台か複数のコンピュータになります.
3.工業時代
仮想マシンの起動が遅い、効率が低い以外に、一台のコンピュータは同じ環境です.環境を切り替えたいなら、やはり面倒くさいです.例えば、一つのプロジェクトで使うのはPHP 5.3ですが、PHP 5.5の新しい特性を試してみたい時は面倒です.Dockerの出現は、その中のいくつかの問題をよりよく解決することができます.
Dockerの使用
Dockerは軽量級の仮想化ソリューションで、秒級の仮想マシン起動、非常に軽量級の仮想化が可能です.個人的な使用は、バージョン管理Gitのような軽量化された状態で保存できることを理解している.
Dockerには二つの非常に重要な概念があります.ミラーとコンテナです.
鏡像は容器を載せた本体で、すべての容器は鏡像の上に動いています.バージョン管理の観点から見れば、ミラー像はあるノードのように見えます.それは異なる分岐を派生してもいいです.本の木を想像することができて、最も基本的な鏡は主な幹で、主な幹は傍木の幹を分けることができて、傍木の幹は更に細い傍木を分けることができて、木の幹の上で木の枝を成長することができます.
例えば、Dockerを使って、オフィシャル倉庫からuuntuのイメージをダウンロードして、それを最も基本的なイメージとします.上で一つの容器を運行して、この容器の中でNFinxをダウンロードして、またこの容器を基礎にして新しい鏡像を生成して、後でこの鏡像の生成する容器はすべてuuntu+nginxを基礎にします.しかし、あなたの職場環境はApacheを使って働く必要があるかもしれません.uuntu+apaacheをベースにしたイメージがありたいです.そこで、最も基本的なuuntuのイメージを使って、容器を実行して、中でアプリをダウンロードしてインストールして、この容器をベースに、uuntu+apacheのイメージを保存します.今後はこのミラーに基づいて運行されるすべての容器にapache環境があります.
操作フローはDockerをインストールした後(ここでは本機のuuntuオペレーティングシステムを例にします): CONTAINER ID:コンテナのID IMAGE:容器に使用されるミラー COMMAND:容器を作る時に使うコマンド CREATED:作成時間 STATUS:現在の状態 PORTS:ポートマッピング(デフォルトはなし) NAMES:容器の名前 上からNgixのコンテナをダウンロードしました.新しいミラーを作成できます.
多くの容器を作ることができます.資源の一部を消費するだけで、多くの隔離環境を保持することができます.また、このような環境を保存して、あるdocker倉庫に送って、生産環境で再度ダウンロードして運行してもいいです.これで生産と開発環境の整合性、つまり開発が至るところで行われます.
dockerを使った問題
パソコンはOS Xなので、dockerを実行するにはboot 2 dockerというプログラムを同時にインストールする必要があります.また、virtual boxの協力が必要です.具体的にはMac OS Xシステムのインストール説明を参照してください.Homebrewを使用すれば、
この文章は大体においてDockerの使用の基本的な流れを述べただけです.中には多くの概念が含まれています.(例えば、ミラータグなど)展開していませんので、全体的には粗いです.深く理解することは、本人の後続の文章を期待したり、直接に下の開源図書を見たりすることができます.この本は入門したい友達に適しています.
参考資料:Dockerは入門から実践まで
DockerはGo言語を使って作成した仮想化ソリューションで、非常に軽量で使いやすいです.
なぜDockerを使いますか?
なぜDockerを使うかというと、簡単にネットでDockerを使う長所をたくさん見つけられると思います.一回の配置、あちこちの運転、より効率的な仮想化、より簡単に管理するなどです.しかし、私個人にとっては、Dockerを使って、私の仕事環境を綺麗にすることができます.ここまで言えば、仕事のやり方を話します.
1.石器時代
最初はパソコンは仕事のコンピュータで、仕事の娯楽はすべて同じコンピュータの上で行います.普通なら、ちょっと整理しておきます.例えば、違うフォルダに置いたり、違うディスクに置いたりします.しかし、いずれにしても、ソフトウェアのインストール、削除、アップグレードに従って、ファイルの削除、ゆっくりとコンピュータの中のファイルのかけらはだんだん多くなります.よくある例えばwindowsコンピュータのCドライブはますます大きくなって、中はすべていくつかの奇怪なファイル名のファイルで、すべてどれらが削除することができますかを知らないで、どれらが削除することができますか?
2.青銅時代
いくつかの仮想マシンやデュアルシステムの知識を知っていると、デュアルシステムのインストール、仮想マシンのインストールを選択して、作業環境の分離を保証することができます.例えば、以前からVirtual boxとは違ったシステムで違うことをしていました.でも、このような仮想マシンは起動が遅いです.抽象的に見れば、もう一台のコンピュータなので、あなたの一台は二台か複数のコンピュータになります.
3.工業時代
仮想マシンの起動が遅い、効率が低い以外に、一台のコンピュータは同じ環境です.環境を切り替えたいなら、やはり面倒くさいです.例えば、一つのプロジェクトで使うのはPHP 5.3ですが、PHP 5.5の新しい特性を試してみたい時は面倒です.Dockerの出現は、その中のいくつかの問題をよりよく解決することができます.
Dockerの使用
Dockerは軽量級の仮想化ソリューションで、秒級の仮想マシン起動、非常に軽量級の仮想化が可能です.個人的な使用は、バージョン管理Gitのような軽量化された状態で保存できることを理解している.
Dockerには二つの非常に重要な概念があります.ミラーとコンテナです.
鏡像は容器を載せた本体で、すべての容器は鏡像の上に動いています.バージョン管理の観点から見れば、ミラー像はあるノードのように見えます.それは異なる分岐を派生してもいいです.本の木を想像することができて、最も基本的な鏡は主な幹で、主な幹は傍木の幹を分けることができて、傍木の幹は更に細い傍木を分けることができて、木の幹の上で木の枝を成長することができます.
例えば、Dockerを使って、オフィシャル倉庫からuuntuのイメージをダウンロードして、それを最も基本的なイメージとします.上で一つの容器を運行して、この容器の中でNFinxをダウンロードして、またこの容器を基礎にして新しい鏡像を生成して、後でこの鏡像の生成する容器はすべてuuntu+nginxを基礎にします.しかし、あなたの職場環境はApacheを使って働く必要があるかもしれません.uuntu+apaacheをベースにしたイメージがありたいです.そこで、最も基本的なuuntuのイメージを使って、容器を実行して、中でアプリをダウンロードしてインストールして、この容器をベースに、uuntu+apacheのイメージを保存します.今後はこのミラーに基づいて運行されるすべての容器にapache環境があります.
操作フローはDockerをインストールした後(ここでは本機のuuntuオペレーティングシステムを例にします):
# docker pull ubuntu
このように、pullを通じて最新のビルディングのuuntuイメージをオフィシャル倉庫からダウンロードします.root@docker:~# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 9cbaf023786c 7 days ago 192.8 MB
その後、このイメージを元に、いくつかの操作を行うことができます.以下のとおりですroot@docker:~# docker run -it ubuntu /bin/bash
root@ead6f34e1f8e:/#
これで、あなたは容器に入りました.新しい容器は単独で作成する必要はありません.ある鏡像をもとに、いくつかのコマンドを実行すればいいです.注意してください.新しい容器は新しくインストールされた簡単なシステムのようです.中には多くの命令とプログラムがデフォルトでインストールされていません.例えば、python、wget、vimなどです.下に、コンテナにハングアップをダウンロードします.root@ead6f34e1f8e:/# apt-get update
root@ead6f34e1f8e:/# apt-get install nginx
root@ead6f34e1f8e:/# which nginx
/usr/sbin/nginx
root@ead6f34e1f8e:/# nginx -v
nginx version: nginx/1.4.6 (Ubuntu)
root@ead6f34e1f8e:/# exit
容器から退出した後、docker ps -a
を使用すると、停止した容器が見えてきます.root@docker:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ead6f34e1f8e ubuntu:latest "/bin/bash" 9 minutes ago Exited (0) 44 seconds ago suspicious_rosalind
ここに表示されているいくつかのもの:root@docker:~# docker commit -m 'add nginx' ead6f34e1f8e ubuntu/nginx
6d61d587b283fd163a30eff8ec1928b503e1d05de24cb815bc3acc5bc4b4d1ed
root@docker:~# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu/nginx latest 6d61d587b283 3 seconds ago 231.3 MB
ubuntu latest 9cbaf023786c 7 days ago 192.8 MB
このようにして私達は新しい鏡像を創建しました.中にはデフォルトではNgixが含まれています.今後はすべてのインラインが必要な容器はこのイメージをもとにして、再ダウンロードする必要がありません.もちろん、ここの鏡の名前は自由です.ここは実験だけです.root@docker:~# docker run -it ubuntu/nginx /bin/bash
root@3364e69c4654:/# which nginx
/usr/sbin/nginx
root@3364e69c4654:/# nginx -v
nginx version: nginx/1.4.6 (Ubuntu)
入ると見えますが、デフォルトは上の環境です.今終了したら、容器を確認します.root@docker:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3364e69c4654 ubuntu/nginx:latest "/bin/bash" 3 minutes ago Exited (0) 3 seconds ago happy_curie
ead6f34e1f8e ubuntu:latest "/bin/bash" 23 minutes ago Exited (0) 14 minutes ago suspicious_rosalind
ここからは停止容器が二つあります.また、容器IDは容器の本体名です.多くの容器を作ることができます.資源の一部を消費するだけで、多くの隔離環境を保持することができます.また、このような環境を保存して、あるdocker倉庫に送って、生産環境で再度ダウンロードして運行してもいいです.これで生産と開発環境の整合性、つまり開発が至るところで行われます.
dockerを使った問題
パソコンはOS Xなので、dockerを実行するにはboot 2 dockerというプログラムを同時にインストールする必要があります.また、virtual boxの協力が必要です.具体的にはMac OS Xシステムのインストール説明を参照してください.Homebrewを使用すれば、
brew install docker boot2docker
を直接使用してインストールすることができます.しかし、以前にインストールしたり、更新したりしたら、問題があるかもしれません.Error response from daemon: client and server don't have same version (client : 1.15, server: 1.13)
この問題は、サービスとクライアントのバージョンが一致していないことを示しています.主にブックt 2 dockerによって引き起こされました.このような問題があったら、ブックt 2 dockerを更新すればいいです.注意してください.ここは新しくブックt 2 dockerをダウンロードするのではありません.boot2docker download
boot2docker restart
またはboot2docker upgrade
後記この文章は大体においてDockerの使用の基本的な流れを述べただけです.中には多くの概念が含まれています.(例えば、ミラータグなど)展開していませんので、全体的には粗いです.深く理解することは、本人の後続の文章を期待したり、直接に下の開源図書を見たりすることができます.この本は入門したい友達に適しています.
参考資料:Dockerは入門から実践まで