DUICUO

Docker はオープンソースに背を向け、もはやオープンソースではなくなりました。

著者 |王瑞平

校正:Yun Zhao

数日前、Docker Hubで重大なインシデントが発生しました!「組織」を作成したすべてのユーザーに、短いPDFリンクが記載されたメールが送信されました。メールの内容はプロモーション色が強く、アップグレードして必要な料金を支払わなければデータにアクセスできなくなると書かれていました。これはオープンソースプロジェクトの自動ビルドプロセスに支障をきたすだけでなく、オープンソースに依存しているユーザーに大きな不安と不便をもたらします。無料で何かを手に入れようと期待していた人たちは、どうやら運が悪かったようです!

メールには、Dockerが既存の無料組織型ユーザーアカウントを段階的に廃止すると記載されていました。リスト上のプライベートリポジトリは4月14日までに強制的に停止されます。引き続きアクセスを希望するユーザーは、その日までに有料ユーザーにアップグレードする必要があります。

この期間中、ユーザーのパブリックリポジトリへのイメージアクセスは維持されます。ユーザーはアップグレードを行い、必要に応じて料金を支払うことで、組織アカウントへのアクセスを再開できます。

Docker Hub は、コンテナ コミュニティ開発者、オープン ソース プロジェクト、独立系ソフトウェア ベンダーなど、さまざまなコンテンツ ソースを備えた世界最大のコンテナ イメージ リポジトリです。

以前は、ユーザーは無料のパブリック リポジトリにアクセスできるだけでなく、プライベート リポジトリを含むサブスクリプション プランを選択することもできました。

幸いなことに、Dockerがオープンソースから有料モデルに移行しても、完全に消滅したわけではありません。Docker Personal、Docker Pro、Docker Team(有料)、そしてDocker Commercialは引き続き利用可能です。

1. ユーザー: オープンソース コードの削除を受け入れられません。

無料アクセスが削除され、オープンソースが排除された場合、最大の問題は、Docker Hubユーザーが独自の「組織」を立ち上げ、パブリックイメージを維持するために支払う費用が、年間0ドルから数百ドルにまで膨れ上がることです。これはユーザーを人質に取っているに等しい行為であり、ユーザーが支払いを怠ればシステムがクラッシュします。

第二に、Dockerはオープンソース時代に誕生しました。資金面の問題に直面しているとはいえ、この手法を用いてオープンソース・プログラムの範囲を非現実的な形で定義すべきではありません。アマチュアプロジェクトやオープンソース財団に完全に寄付されたプロジェクトは除外されてしまいます。これは、ユーザーから見たDockerの信頼性を著しく低下させます。

さらに、この製品の無料版は既にオープンソースプロジェクトで広く利用されています。無料版を削除すると、Dockerイメージを含むこれらのチームに関連するデータが失われることになります。したがって、Dockerはサービスを通じて利益を得たり、高額な料金を請求したりすべきではなく、オープンソース性を維持するために寄付を受け入れる方が受け入れられやすいでしょう。

コミュニティのユーザーはかつてDockerの創始者でした。しかし今、Dockerが莫大な利益を得たことで、彼らは自らのルーツを完全に忘れてしまっています。

2. 料金が請求されるとどのような影響がありますか?

Docker社のCTOはTwitterで非公式に「支払いをしないアカウントは閉鎖し、誰にも引き継がせないようにする」と述べた。

しかし、現実はそれほど絶対的ではありません。理想的には、これらの組織のアカウントはユーザーアカウントにリンクされたままであり、ユーザーが後日料金を支払えばアカウントを復元できるはずです。

マルウェアや悪意のあるイメージによって引き起こされた被害に対応して、メンテナーは、オープンソースおよびプライベートソフトウェアプロジェクトをホストするためのプラットフォームであるGitHubレジストリを通じてオープンソースパッケージをリリースすることに重点を移しました。

なぜでしょうか?Dockerはユーザーにレート制限を課しているためです。Docker Hubからコンテンツをダウンロードするには、個人でも企業でも有料サブスクリプションが必要です。Prometheus、NATS、Go、Python、Nodeのイメージをダウンロードするには料金がかかります。

幸いなことに、保守しているプロジェクトが CNCF や Apache Foundation などの財団に属している場合は、簡単にアクティベーションを申請できます。

3. Docker Hub はユーザーに利便性をもたらします。

ユーザーは、Docker自体は単なるツールであり、Docker Hubがエコシステム全体の中核であることを知っています。簡単に言えば、Docker HubはApp Storeのようなものです。アプリがなければ、スマートフォンはまさに「モバイルフォン」になってしまいます。

具体的には、Docker HubはDockerファイルの中央リポジトリであり、GitHubと名前が似ています。比較すると、GitHubはコードを保存するのに対し、Docker HubはDockerイメージを保存します。

Docker Hubは、世界最大のコンテナイメージリポジトリを探索し、100万を超えるコンテナイメージを簡単に検索できる環境を提供します。さらに、パブリックリポジトリまたはプライベートリポジトリへのイメージの共有と保存が可能で、ユーザーは無料のパブリックリポジトリまたはプライベートリポジトリ付きのサブスクリプションプランを利用できます。

前述のように、Docker Hub は、GitHub および Bitbucket を介してコンテナ イメージを自動的に構築し、これらのイメージを Docker Hub 上のチームや組織にプッシュできるようにするプライベート リポジトリです。

Docker Hub上のイメージは、nginxやmysqlなどの公式イメージと、ユーザーがアップロードしたイメージの2つの主要なカテゴリに分類されます。Docker Hubの速度が遅いと感じる中国のユーザーには、中国企業が提供するイメージが利用可能です。

これらのイメージは非常に安全であるため、ユーザーはプロジェクトを簡単に構築し、適切なイメージを一目で見つけることができます。さらに、Docker Hubはイメージを検査し、イメージコンポーネントの脆弱性を特定し、それらの脆弱性を利用して問題を解決できます。

Docker Hub を使用した私の個人的な経験では、Python や Ubuntu などの成熟した Docker イメージを見つけて、それをローカル マシンにプルして使用したり、Docker Hub を個人の Docker イメージ リポジトリとして使用して、独自のイメージをアップロードしたりするなど、いくつかのシナリオに遭遇しました。

4. 有料モデルにアップグレードするにはどうすればいいですか?

Dockerのサブスクリプションに料金を支払うメリットがあるのか​​疑問に思うユーザーも多いかもしれません。確かに、Docker製品ファミリーには様々なメリットがあります。第一に、Dockerは生産性向上を目指す個人開発者にとって理想的な選択肢です。第二に、Docker Teamは効率的なコラボレーションを期待する小規模チームにとって理想的です。そして第三に、Docker Businessは集中管理を求める企業にとって最適な選択肢です。

では、有料サブスクリプションにアップグレードするにはどうすればいいのでしょうか?まず、docker.comでアカウントにログインしてください。次に、タイトルにある「アップグレード」を選択し、アップグレードしたい有料サブスクリプションのレベルとシート数を選択して、お支払い手続きを進めてください。

有料サブスクリプションモデルにアップグレードすると、アカウントとそれに関連するすべての設定、ミラー、そしてすべてのディレクトリ下のリポジトリが100%保持されます。これは素晴らしいですね!

5. Docker の代わりとなるものは何ですか?

Redditのユーザーは次のようにコメントした。「Docker Hubによるオープンソースの排除は残酷だが、私たちはこの現実を直視し、より良い代替案を探さなければならない。」

現在市場で人気のある代替ツールとしては、Podman、Kubernetes、Openshift、LXD、Docker Swarm、BuildKit、Mesosなどが挙げられます。以下では、PodmanとContainerdという2つの代替ツールに焦点を当てます。(1) Podmanはデーモンフリーのオープンソースであり、Linux OCIコンテナとコンテナイメージの構築、実行、管理に使用できます。使いやすく、Kubernetesと互換性があり、複数のコンテナ形式をサポートし、リソース割り当てをより細かく制御できます。(2) Containerdは、コンテナ実行のための一貫性と安定性のあるインターフェースを提供し、コンテナの起動と停止によるライフサイクル管理、イメージ管理とストレージを実行できます。さらに、Containerdは他のコンテナオーケストレーションツールと併用することで、クラスター内のコンテナの拡張とスケジュール管理を行うことができ、軽量性、一貫性、柔軟性などの利点を提供します。Dockerは今後数年間、一定の市場シェアを維持すると予想されます。しかし、10年後には、IT 業界では Docker が開発者のテクノロジー スタックに不可欠なツールであるとは考えられなくなるでしょう。

参考文献:

https://www.docker.com/

https://blog.alexellis.io/docker-is-deleting-open-source-images/

https://www.reddit.com/r/programming/comments/11rased/docker_is_sunsetting_free_team_organizations/