シェルでコンテナの実行や操作ができる「Dagger Shell」、Docker創始者らによるDagger社からオープンソースで登場
今回は「シェルでコンテナの実行や操作ができる「Dagger Shell」、Docker創始者らによるDagger社からオープンソースで登場」についてご紹介します。
関連ワード (デモ、実行可能、登場等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Dockerの創始者であるSolomon Hykes氏らが中心となって発足されたDagger社から、コンテナ時代の新しいシェルとうたわれた新ツール「Dagger Shell」が登場しました。

シェルを補完してコンテナを操作可能に
Dagger Shellはシェルを置き換えるのではなく補完するものだと説明されています。
Dagger Shellを用いることで、シェルコマンドやシェルスクリプトの中でコンテナの操作が可能になります。
下記はデモ動画のキャプチャです。ここではシェルコマンドとして「container | from alpine | with-exec apk add git | terminal」と入力、実行されています。つまりAlpine Linuxのコンテナを起動してgitをインストールし、terminalを起動するというものです。

Alpine Linuxのコンテナが立ち上がり、ターミナルが利用できるようになりました。lsコマンドを実行するとファイルやディレクトリの一覧が返ってきていることが分かります。

Dagger Shellコマンドはサンドボックス化された関数として実行され、明示的に引数として提供された場合のみファイルやシークレット、サービスなどのホストのリソースにアクセスします。
コンテナの多段階ビルドなどにも対応すると説明されています。
ワークフローエンジンを基盤にシェルを拡張
Daggerはもともと、ソフトウェアのビルド/テスト/デプロイの自動化をポータブルにするツールとして登場しました。その基盤はワークフローエンジンのDagger Engineです。
参考:Docker創始者らが開発、ビルド/テスト/デプロイの自動化をポータブルにするツール「Dagger」登場。そのままローカルでもGitHubでもCircleCIでも実行可能に
Dagger ShellはこのDagger Engineが基盤となっています。
そしてDagger EngineやDagger Shellは、Dagger SDKによってGo、Python、Typescript、Java、PHPなどのプログラミング言語によって拡張可能です。

またDaggerverseと呼ばれるDaggerの拡張用モジュールにより拡張することも可能。
Dagger Shellは、最新版のDaggerをインストールすることで利用可能になります。
Introducing Dagger Shell: Unix philosophy meets modern infra. Familiar bash syntax with built-in containers, typed objects, and declarative workflows—all cached and sandboxed. No more juggling DSLs to ship software. pic.twitter.com/p9QzOZ42m8
— Dagger (@dagger_io) March 26, 2025