ここでdockerを学習しようとしていますが、docker.ioとdockerの違いは少し混乱しています。 docker.io
デーモンサーバーとdocker
クライアント?なぜデーモンは常に実行する必要があるのですか?
Ubuntuを使用していて、
Sudo apt-get install docker
「KDE3/GNOME2アプリケーションのシステムトレイ」と記載されたパッケージを取得します
一方、あなたがするなら
Sudo apt-get install docker.io
「Dockerはカーネルのネームスペースをプロセスレベルで動作する高レベルAPIで補完する」と記述されたパッケージを取得します。つまり、誰もがDockerと言うとき、誰もが通常考えているDockerです。
docker-io
は、Ubuntuディストリビューションで使用されるdebパッケージ名ですdocker-engine
は、公式のDocker Ubuntuディストリビューションのdebパッケージ名です。
おそらくあなたはdocker-engine
Ubuntu 1は古すぎてバグが多いため使用できません。現在、Ubuntuには1.6.2があり、Dockerレジストリには1.12.0があります。
Dockerに関しては、1.6.2は石器時代としてカウントされます。
Dockerは、開発者やシステム管理者が分散アプリケーションを構築、配布、実行するためのオープンプラットフォームの名前です。一方、Docker.ioは、Linux OS(つまりUbuntu)にインストールするパッケージの名前です。このリンクを参照してください ここ 。
それがどのように機能するかという点では、Dockerエンジンは2つの部分で構成されています。デーモン、すべてのコンテナーを管理するサーバープロセス、およびデーモンのリモートコントロールとして機能するクライアントです。 here にあるサイトで簡単なデモを試すことをお勧めします。
ユーザビリティの観点から、docker
コマンドを使用するときはいつでもDockerクライアントを呼び出します。
Dockerは単にdocker.ioへのシンボリックリンクのようです:
> file $(which docker)
/usr/local/bin/docker: symbolic link to `/usr/bin/docker.io'
だから私たちはdocker.ioがデーモンとクライアントプロセスの両方であると想定できます。
Debianパッケージについて話す:docker.io
はDebian/Ubuntuによって提供されるパッケージの名前であり、docker
はdocker.comによって提供されるパッケージの名前です。
技術的には、これらのパッケージは異なる方法でビルドされます:docker.io
ビルドの依存関係はDebianパッケージから取得されますが、docker
の場合、ビルドの依存関係はvendor
ディレクトリのツリー内にあります。
詳細が必要な場合は、詳細なブログ投稿を次の場所に書き込みました: https://www.collabora.com/news-and-blog/blog/2018/07/04/docker-io-debian-package-復活/