Docker Desktop 4.22.0が8月3日にリリースされていたようなのでアップデートしてみようとしたところ、手元の環境ではこんな感じの画面になってしまってアップデートされないのに気が付きました。
ダウンロードして
しばらくするとこのような画面に...
Docker Desktopのリリースノートを見るとちょっと面白そうなことも書かれているので、新しいバージョンが触りたいんですよね。
試しに、Docker Desktopを再起動してみたのですが、古いバージョンのままでした。
そういえばこの環境はHomebrewでDocker Desktopをインストールしているのでした。
そこでbrew info
で確認したところ、HomebrewにはDocker Desktop 4.22の情報がが登録されているようです。
$ brew info homebrew/cask/docker ==> docker: 4.22.0,117440 (auto_updates) https://www.docker.com/products/docker-desktop /opt/homebrew/Caskroom/docker/4.21.1,114176 (120B) From: https://github.com/Homebrew/homebrew-cask/blob/HEAD/Casks/d/docker.rb ==> Names Docker Desktop Docker Community Edition Docker CE ==> Description App to build and share containerized applications and microservices ==> Artifacts Docker.app (App) Docker.app/Contents/Resources/bin/docker-compose -> /usr/local/bin/docker-compose (Binary) Docker.app/Contents/Resources/bin/docker-compose-v1/docker-compose -> /usr/local/bin/docker-compose-v1 (Binary) Docker.app/Contents/Resources/bin/docker-credential-desktop -> /usr/local/bin/docker-credential-desktop (Binary) Docker.app/Contents/Resources/bin/docker-credential-ecr-login -> /usr/local/bin/docker-credential-ecr-login (Binary) Docker.app/Contents/Resources/bin/docker-credential-osxkeychain -> /usr/local/bin/docker-credential-osxkeychain (Binary) Docker.app/Contents/Resources/bin/docker-index -> /usr/local/bin/docker-index (Binary) Docker.app/Contents/Resources/bin/hub-tool -> /usr/local/bin/hub-tool (Binary) Docker.app/Contents/Resources/bin/kubectl -> /usr/local/bin/kubectl.docker (Binary) Docker.app/Contents/Resources/etc/docker-compose.bash-completion -> /opt/homebrew/etc/bash_completion.d/docker-compose (Binary) Docker.app/Contents/Resources/etc/docker.zsh-completion -> /opt/homebrew/share/zsh/site-functions/_docker (Binary) Docker.app/Contents/Resources/etc/docker-compose.zsh-completion -> /opt/homebrew/share/zsh/site-functions/_docker_compose (Binary) Docker.app/Contents/Resources/etc/docker.fish-completion -> /opt/homebrew/share/fish/vendor_completions.d/docker.fish (Binary) Docker.app/Contents/Resources/etc/docker-compose.fish-completion -> /opt/homebrew/share/fish/vendor_completions.d/docker-compose.fish (Binary) Docker.app/Contents/Resources/bin/com.docker.vpnkit -> /usr/local/bin/vpnkit (Binary) Docker.app/Contents/Resources/bin/com.docker.cli -> /usr/local/bin/com.docker.cli (Binary) Docker.app/Contents/Resources/etc/docker.bash-completion -> /opt/homebrew/etc/bash_completion.d/docker (Binary) Docker.app/Contents/Resources/bin/docker -> /usr/local/bin/docker (Binary) ==> Analytics install: 17,651 (30 days), 54,525 (90 days), 98,087 (365 days)
と言うわけで手動でアップグレードを実施。Docker Desktopがなぜbrew upgrade
で更新されなかったかは謎です。
$ brew upgrade homebrew/cask/docker ... ==> Purging files for version 4.21.1,114176 of Cask docker 🍺 docker was successfully upgraded!
無事、Docker Desktop 4.22に更新されたようです。
4.21からの更新点として、Docker Engineが24.0.5、Docker Composeが2.20.2、 Docker Buildxが0.11.2にそれぞれ更新された点、Resource Usage拡張機能がGAになった点、 各OS別に様々なバグ修正が行われたほか、DockerでWasmの利用がcontainerd image storeを使う設定にすると利用可能にある機能が追加されているようです。
Docker DesktopでWasmもcontainerd image storeによるイメージダウンロードとコンテナ作成の高速化をどっちも試してみたかったので、設定を変更してみました。
すると次のようなメッセージが表示されました。
なお、このメッセージが表示されてインストールを実行したにもかかわらず、DockerでWASMランタイムを使おうとするとエラーとなる場合は、もう一度「Enable WASM」を一旦オフにしてオンにし直してみてください(私はそれで使えるようになりました)。
containerd image store機能を試す
この機能を有効にすると、確かにイメージのダウンロードは並列化されるので速いですし、コンテナ作成も速いですね。
$ docker image pull nginx:alpine $ docker container run --name=cont1 -d -p 8080:80 -it nginx:alpine
DockerでWASMアプリを動かしてみる
先ほどWASMの設定をしたので、Docker DesktopでWASMアプリを動かすこともできるようになります。
いつものDockerコマンドに--runtime
と--platform
でWASMを指定しているのがポイントです。
$ docker container run \ --runtime=io.containerd.wasmedge.v1 \ --platform=wasi/wasm \ secondstate/rust-example-hello Hello WasmEdge!
DockerのWASMについてはそのうち、また取り上げる予定です。
Docker Desktopの検索機能
Docker Desktopの検索機能も、触っていないうちに関連ドキュメントの検索もできるようになったようですね。
Docker Desktopも着実に良くなっています。