Dockerがコードネーム「Docker Debug」発表、コンテナ内に任意のデバッグツール群を一括導入、効率的なデバッグを実現。DockerCon 23
今回は「Dockerがコードネーム「Docker Debug」発表、コンテナ内に任意のデバッグツール群を一括導入、効率的なデバッグを実現。DockerCon 23」についてご紹介します。
関連ワード (名前、日目、非破壊的等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Docker社は米ロサンゼルスで10月3日と4日の2日間、年次イベント「DockerCon 23」を開催しました。
1日目の基調講演で、Dockerコンテナ内でのアプリケーションのデバッグを高効率化するDocker Desktopの新しい拡張機能「Docker Dubug」(コードネーム)が発表されました。
コンテナのデバッグは面倒
一般にDockerコンテナは、使用メモリの最小化とセキュリティを高めるなどの目的で、余計なシェルコマンドやツールなどを徹底的にそぎ落としたOSの上にアプリケーションを載せた構成にします。
そのため、コンテナ内のアプリケーションに問題が発生し、その解決のために基本的な動作確認や設定確認などをしようとした場合でも、下記のようにpingやviなどの基本的なコマンドさえ使えない状態です。
開発者はここから作業を始めなければならず、デバッグ可能な環境の構築に時間がかかってしまいます。
Docker Debugで関連ツールを一括導入
この問題を解決するために発表されたのが、Docker Desktopの拡張機能としてインストール可能なコードネーム「Docker Debug」です。
下記のデモ画面では「Docker Labs Debug Tools」という名前になっています(コマンド名は「dld」)。
Docker Debugはbash/fish/zshとNixOSベースのパッケージマネージャ、ポートフォワーディングなどの機能をDockerコンテナに組み込むのと一緒に、プログラマがデバッグに必要なツール群をDockerコンテナ内に一括導入できるようになります。
ローカルコンテナだけでなくリモートにあるコンテナにも対応。
下記はdldコマンドでDocker Debugをインストールしたところ。コマンド一発でvimやpingが使えるようになっていることが分かります。
Docker Debugで採用しているNixOSベースのパッケージマネージャは、元の環境に対して非破壊的にパッケージを適用する機能があります。
デモでは示されませんでしたが、この機能を使えばDocker Debugで一発導入したシェルやコマンド群は、またコマンド一発できれいさっぱり消し去ることができて、簡単に元のまっさらなDockerコンテナの環境に戻せると推測されます。
DockerCon 23
- Docker、ビルドを40倍速にする次世代のDocker Buildを開発中。DockerCon 23
- Dockerがコードネーム「Docker Debug」発表、コンテナ内に任意のデバッグツール群を一括導入、効率的なデバッグを実現。DockerCon 23
- 生成AIがDockerを使った開発の質問に答えてくれる「Docker AI」発表、Dockerfileのエラーなども修正。VSCode対応。DockerCon 23