🐳

Docker 20.10のリリースノートを眺める

2020/10/21に公開

これはなんの記事?

Docker 20.10のBetaが大してアナウンスされることなくしれっとREADMEに追加されていて何がどうなってるかよくわからなかったので、リリースノート眺めながら気になったところをコメントしていく記事です。

参考: Docker 20.10.0 beta release note

リリースノートの気になったところ抜粋

Deprecate aufs storage driver

Docker初期からCoWのできる階層型ファイルシステムとして活躍していたaufsですが、overlay/overlay2の採用を経てついに非推奨になったようです。

Deprecate Dockerfile legacy 'ENV name value' syntax, use ENV name=value instead

これは、Dockerfileの中で環境変数を定義するためのオプションに対するお作法の話です。

Dockerfile
FROM ubuntu
ENV name value # 非推奨
ENV name=value # 今後はこっちを使いましょう
CMD ["echo", "$name"]

Allow ssh:// for remote context URLs

Remote Docker(ネットワーク経由でDockerを操作する場合)、これまではHTTP/HTTPSしか選択肢がなかったのですが、SSHがサポートされたことで脆弱なエンドポイントを直接公開する必要がなくなったというのは便利だと思います。

こちらはランタイムの話ではなくてBuilderでした。docker buildするときに指定するRemote Dockerを、SSH経由で繋げるようにしたものみたいです。いずれにせよCIなどで脆弱なエンドポイントを用意しなくても良くなるので便利ですね!

Add support for docker push --quiet

docker pushするときのシェルの表示をきれいにしてくれるオプションかな?体験良さそう。

Support cgroup2

合わせて「cgroup2: use "systemd" cgroup driver by default when available」

ホストのリソースをDockerに隔離して割り当てるために使われているLinuxの機能、cgroupのv2に対応した話です。Fedoraがv1をオフにしたためにFedoraでDockerが動かなくなってしまっていたのですが、このリリースによって修正されました。また、今後他のLinux distroでもcgroup2が使えるようになります。

Support host.docker.internal in dockerd on Linux

え、これ便利では??これまでDocker Desktop for Mac/Windowsでしか使えなかった、「コンテナからホストに接続したい」場合にMac/Windowsのみで使えていたhost.docker.internalがLinuxでも使えるようになったという話。

rootless: graduate from experimental

これまで実験的機能だったrootless dockerがGAになりました。rootless dockerについては他に試してみた系の記事がネットに転がってるので割愛しますが、要するにLinuxのroot権限がなくてもDockerが動くというスゴイやつです

Appendix: ACI/ECS integration with Docker

参照. https://www.docker.com/blog/open-source-cloud-compose/

Azure Container Instances及びAmazon ECS上にアプリケーションをデプロイするための仕組みがDockerに追加されたという話です。@toriclsのAWSDevDayの資料にも言及がありましたね。

https://speakerdeck.com/toricls/the-easiest-deployment-championship-2020-find-your-winner-for-aws-fargate?slide=44

Docker社における売却やらなんやらでいろいろざわざわしていた去年でしたが、リリース内容を見ると継続的な改善が行われているようで安心しました。

Discussion