Dockerとは何?
最近、Dockerのコミュニティがとても発展しています。それは、どうしてでしょうか。皆一緒に理解していきましょう。
Dockerとは何?食べることができますか?
もちろん、食べることができませんね。大体皆知ってるように、開発の中では色々問題があります。一つの問題は開発環境です。それで、開発環境の件、DockerはContainer(独立Container)でアプリを管理します。
Dockerの特徴
何でもContainer化することができます。
私たちのシステムがContainerに孤立します?
- 環境開発をするように、DockerContainerをインストールします。
- アプリの具体設計(設計自由)
- 内部のネットワークやContainerとContainer
どうすれば? Dockerをインストールするには、以下のリンクを参考にします。
https://docs.docker.com/engine/installation/
IMAGE
具体的には、IMAGEがLinux OS を梱包します。Dockerの中に、Dockerfileがあります、このファイルの目的はなんでしょうか。そのファイルは新たにImageを立てる。Dockerfileの中に、いろいろなlayerがある、でも、最高layerはいつも OSである。
例えば
PHP-FPM 7.0のDockerfile見ると、Debian (debian:jessie)のOS Image を継承して、あと、PHP-FPM をインストールします。あと、ダウンロードをして、Imageになった。
https://github.com/docker-library/php/blob/0792ba42f0ea7435ceb26b42a066274e028b30e3/7.0/fpm/Dockerfile
IMAGEを設計して、何が面白いか。
- 他のImageから継承することができます。
- アップロードとシェアは簡単です。
- https://store.docker.com/ でほとんど何もありますね。
また、他のIMAGEを利用する際に、Docker Storeでpullをします。
docker pull <イメージの名前>
Containerは何?
ContainerはOSと関係のlibraryとアプリを包む。
どうすれば、新たなContainerをつくれますか。
ImageからContainerを作っています。
docker run <イメージの名前>
Containerを作りましたあと、docker exec
でこのContainerを対応しています。
例えば
docker exec -it <containerの名前> bash
その中で
i (interactive): OSのterminalにアクセスします。
t (#): stdoutに表示される
Containerとcontainerをインタラクティブする際に、network、volume等が必要です。
例えば
nginx: 80番ポートを開くと、 clientからアクセスすることができます。
php-fpm: 9000番ポートを開くと、 nginxとproxyをコネクトします。
mysql: 3306番ポートを開くと、DBをコネクトすることができます。
結論
- Microserviceに適当である。
- 資源がかかることの減る。
- 環境開発の方が早くて、安全である。
参考リンク
https://docs.docker.com/
Author And Source
この問題について(Dockerとは何?), 我々は、より多くの情報をここで見つけました https://qiita.com/itachi2901/items/196ae0c2591e085cbecb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .