- このエントリーは、2024/10 - 2024/11 の個人的な技術情報エントリーです。
要約
-
Docker/ Docker社 の 技術動向把握の方向性
2024年度も、引き続き Docker Desktopのバージョンアップが行われれ、VSCode風のUIなどが一層改善されたバージョンなどが提供されるようになっている。 (元々、DockerDesktopはElectronベースではあるが、より開発でスタンダードになっているVSCodeのような環境を模倣、親和性の高いUIを採用したのではないかと考える) そのほか、より高度・機能が盛りだくさんになっている、Docker/DockerComposeそのものや、オーケストレーション(K8sや Docker Swanなど)についてDocker独自のAI機能を追加(昨日自体は、2023年末ぐらいに導入されている)の積極的な展開や導入が行われたとみている。
-
【全体感】
- 2024年度におけるDocker社のコンテナ技術/Dockerの技術動向は、基本2023年度ベースのブラシアップに全体的に触れているようである。
- 通称3大プラットフォーム(WinX64、MacOS<ARM系>、*NIX<Linux想定>)について、WinX64(WSL2ベース)とMacOS(ロゼッタ実装)は
- ソフトウェアエミュレーション風の底層実装をより進展させているようである(この結論には、WSL2と、LXCの実装検討が必要であるが、時間不足と技術検討不足で実現していない)
- *NIX(Linux)は、cGroup系実装とLXCの基礎技術の双方のデファクトスタンダードをメインで動かすような実装が進展し、ある意味おいて最も健全かつ適切な技術成長を遂げているようである。
-
- オーケストレーションについては業界デファクトスタンダードと別個のDockerSwan実装をさらにブラシアップしているものの、
- 簡易的な下位互換実装(ただし、使いやすく実装)方向にDocker者は技術的思考を2024年度は動かしているようである。
- →
- ただし、DockerSwanは、2023年度に引き続き、Docker独自かつスケールアウトについては実装がK8sより簡易な実装になっているようである。
- これを解決するべく、Docker社も実装強化を試みているように見えるものの、明確なリリースに結びつく技術実装の進展は乏しいようである。
- また、2022年ごろから急速な成長を見せている生成AIに対してのアプローチが、Docker実装全般に総力を挙げて(特に企業ソリューションに刺さる方向に)行われているようである。
- これは、2020年頃のDocker社の経営・社内体制刷新がいよいよ、大きく『花開いていく』過程であると考えている。
topic :: "クラウドとコンテナ技術の進化" と "開発者向けツールとワークフローの改善" について
開発者向けの生産性向上ツール(Docker Composeの暫時的な改善や、Testcontainers導入)や、CI/CDパイプラインとの統合に動き大きかったようです。
※ただし、Testcontainers導入は、Java/ Python/ Go が先行しており、PHP などはこれからのようです。
その他、DockerAIの導入がより積極的に行われ、これまで、手作業や開発者の経験やスキル・センスに頼っていた3の項目を該当の機能を使った系統だったルール化、スキル補助の機能を中心に進展しているようであり、
結果、煩雑に思えるDockerとK8sのようなオーケストレーションに改善のにも役立っているようです。
- Dockerコンテナ利用における、Docker ComposeとTestcontainersの位置づけ。
項目 | Docker Compose | Testcontainers |
---|---|---|
主な用途 | 開発環境構築、マルチコンテナ管理 | テスト環境の動的提供 |
利便性 | 設定ファイルで一括管理、操作が簡単 | コード内で依存を制御、セットアップ不要 |
再現性 | チーム間での環境共有に優れる | テストごとの一貫性が保証 |
有用度 | 開発・デバッグに高い価値 | テスト品質向上に抜群の効果 |
制限 | 本番環境には不向き | 起動時間やDocker依存が課題 |
- Dockerコンテナ利用へについてのまとめ
- Docker Compose: 開発者がDockerコンテナを「使い始める」段階での利便性を向上させ、複数コンテナの連携を簡素化。学習曲線を緩和し、迅速なプロトタイピングを可能するもののようです。
- Testcontainers: テスト段階でのコンテナ利用を深化させ、「本番に近い環境での検証」を手軽に実現。品質と信頼性を高め、開発ライフサイクル全体を強化するようです。
- 両ツールは、「Dockerエコシステム内で補完的な役割」を果たし、開発からテストまでのワークフローを効率化できるようです。
その他、Docker Bakeのようなコマンド整備も各種環境に対して最適化などが行われ、よりDockerの利用促進を図っているようです。
リンク
- https://www.docker.com/ja-jp/blog/labs-ai-tools-for-devs-docker-desktop-extension/
- https://www.docker.com/press-release/ai-trends-report-2024-unveils-key-ai-insights-for-developers-and-it-leaders/
- https://www.docker.com/ja-jp/blog/ai-trends-report-2024/
- https://www.docker.com/ja-jp/blog/docker-2024-highlights/
- https://www.docker.com/ja-jp/blog/streamlining-local-development-with-dev-containers-and-testcontainers-cloud/
- https://www.docker.com/ja-jp/blog/testcontainers-cloud-vs-docker-in-docker-for-testing-scenarios/
- https://www.docker.com/ja-jp/blog/running-testcontainers-tests-using-github-actions/
- https://www.docker.com/ja-jp/blog/connecting-to-testcontainers-services-using-testcontainers-desktop/