この記事は新野淳一氏のブログ「Publickey」に掲載された「Dockerがコードネーム「Docker Debug」発表、コンテナ内に任意のデバッグツール群を一括導入、効率的なデバッグを実現。DockerCon 23」(2023年10月12日掲載)を、ITmedia NEWS編集部で一部編集し、転載したものです。
米Docker社は米ロサンゼルスで10月3日と4日の2日間、年次イベント「DockerCon 23」を開催しました。
1日目の基調講演で、Dockerコンテナ内でのアプリケーションのデバッグを高効率化するDocker Desktopの新しい拡張機能「Docker Dubug」(コードネーム)が発表されました。
一般にDockerコンテナは、使用メモリの最小化とセキュリティを高めるなどの目的で、余計なシェルコマンドやツールなどを徹底的にそぎ落としたOSの上にアプリケーションを載せた構成にします。
そのため、コンテナ内のアプリケーションに問題が発生し、その解決のために基本的な動作確認や設定確認などをしようとした場合でも、下記のようにpingやviなどの基本的なコマンドさえ使えない状態です。
開発者はここから作業を始めなければならず、デバッグ可能な環境の構築に時間がかかってしまいます。
この問題を解決するために発表されたのが、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コンテナの環境に戻せると推測されます。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR