とことんDevOps | 日本仮想化技術が提供するDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けするとことんDevOpsでは、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果など、DevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、アジャイル開発、コンテナ開発など

開催予定の勉強会

各種SNSのフォローもよろしくお願いいたします。

Docker Desktop 4.15.0を触ってみる

12/1にDocker Desktop 4.15.0がリリースされました。

www.docker.com

今回のバージョンでVirtioFSがGAになったことにより、コンテナへの共有ボリュームのパフォーマンスが向上するようです。ただデフォルト設定にはなっていないようなので、設定を開いて確認すると良いと思います(ちなみに手元の環境はgRPC FUSEになっていました)。

Kubernetesは1.25.2のクラスターが作成できるようです。

Mac限定ですが、初回実行時の管理者権限付与が必要なくなったのも良いポイントですね。

クイック検索が便利!

つぎの機能追加が個人的に便利になったなと思う点で、「クイック検索」機能が実装されました。クイック検索機能を使うとDocker Desktopで動いているコンテナ、Docker Hubに存在するイメージを検索して該当のイメージをPullしたり、そのイメージを使ってコンテナの作成が可能です。

これまではコンテナなどはコマンド操作で行い、実行中のコンテナや利用中のイメージの把握のためにDocker Desktop GUIを使うような使い方をしていた人も多いかと思います、これからはGUIだけである程度のことができるようになります。

ちなみにこれは今回のバージョンからではありませんが、Docker拡張機能のLog ExplorerとResource useageは入れておくと便利ですね。

コンテナイメージの検索画面ではイメージタグの指定もサポートしています(ただし古いタグは出てこない)

クイック検索はパブリックなイメージのほか個人のユーザーが作ったイメージも検索できるので、今までイメージを探すためにブラウザーでDocker Hubを開いて検索していたのが、Docker Desktopのクイック検索だけで一通りのことを確認できるようになったのも評価が高い点ですね。

コンテナでUbuntuベースで動くPostgreSQL Serverを動かすのも簡単です。設定さえすればクライアントのpsqlコマンドラインツールなどを使ってアクセスも可能です。

イメージの脆弱性の把握も簡単に!

イメージの脆弱性のダッシュボードが標準で実装されたところも評価が高い点です。これまではdocker scanコマンドやDocker拡張機能を使ってイメージのスキャンする機能を追加することでコンテナイメージの脆弱性のスキャンが可能でしたが、Docker Desktop 4.15では今までのイメージ管理画面でイメージをクリックすることでイメージの様々な情報を確認できるようになりました。たとえば先ほど例としてあげたイメージをチェックしてみましょう。

hub.docker.com

画面の左から、このイメージがどのベースイメージを使って作られているか、現在使っているイメージはどのバージョンなのかを把握できます。

その下にはイメージのレイヤー情報を確認できます。イメージに含まれる内容を把握できます。セキュリティ上確認が必要な部分には、警告が現れます。

画面右側には、ベースイメージとベースイメージを元としているカスタムイメージに関する情報の概要が表示されます。パッケージ数と脆弱性の数が表示されます。

タブを「Vulnerabilities」に切り替えると、パッケージとCVE番号、脆弱性の概要が現れます。

展開していくとこのように情報が表示されます。

「Packages」タブに切り替えると、パッケージの概要、パッケージの作者、ライセンス、どこのパスに展開されるのかが表示されます。

前回別記事でも触れたようにDocker DesktopでSBOMの取り扱いも可能になっていますので、セキュリティの把握がしやすくなり良い感じになったなあと感じました。

devops-blog.virtualtech.jp

Docker + Wasmのはなし

今回のバージョンで、DockerでWasmの利用が可能になりました。 Wasmベースのイメージをコンテナで動かすのがStableビルドのDockerでも可能になりました。

docs.docker.com

この機能を使うにはcontainerdイメージストアの機能を有効にする必要があります。

これにより先ほどのリンク先のようにWasm containerを動かすことができますが、containerdイメージストアの機能を有効にすると先ほどいくつか説明したイメージの脆弱性のダッシュボード機能が利用できなくなるので注意が必要です。

また当然ながら保管されているイメージはcontainerdイメージストア機能を有効にするとDockerdが管理しているイメージは見えなくなる点にも注意が必要です。

とはいえ筆者はDocker + Wasmについて興味があるので、そのうちこのブログでも取り上げたいと思っています。