macOSでDocker Desktopをアンインストールしてdocker-cli + docker-machineで動かすようにする
Docker Desktopがここ最近活発に開発されているというか、かなり見た目がオシャレになってきてて「ヤル気あるな〜」と思って眺めていたのですが、なるほど有料化するということなのですね。
Docker Desktop remains free for personal use, education, non-commercial open source projects, and small businesses (fewer than 250 employees AND less than $10M USD in annual revenue).
Commercial use of Docker Desktop in larger enterprises (more than 250 employees OR more than $10 million USD in annual revenue) requires a Docker Pro, Team or Business subscription for as little as $5 per user per month.
実際、こういうところに注力して利益を得ていくというのは良いことだと思います! 頑張れdocker!
それはそうとしてDocker Desktopの機能をあまり使ってこず、実際のところcliでdockerが操作できればよい、つまりdocker engineが動けば良いという感じだったので、docker-machineを使ってローカルでdockerデーモンのためのVMを動かし、ホストからそのVMにcliを繋いでdockerを使うという方法をやっていくこととします。どことなく懐しいですね。podman使うとかでも良かったんですけど、ひとまずdocker cliでやります。
まずDocker Desktopをアンインストールする。
"Troubleshoot" メニューを開きます。この虫マークは "Troubleshoot" というメニューだったのですね。バグレポートボタンだと思ってた……
アンインストールしましょう。これで完了です。
そしてdocker cliとdocker-machineを入れる。
$ brew install docker docker-machine
で、docker-machineを使ってローカルにVMを立ててそこでdockerデーモンを動かすこととする。このとき、ローカルマシンにあらかじめVirtualBoxがインストールされている必要があります。
やりかたとしては右のページに従うと良い: Get started with Docker Machine and a local VM | Docker Documentation
おおざっぱに書くと以下のようなかんじ。
$ docker-machine create --driver virtualbox default $ echo 'eval "$(docker-machine env default)"' >> .bash_profile
そして docker ps
などと打ってみてちゃんとレスポンスが返ってくると成功です。
Docker Desktopで動かしていた時と比較するとなにか制限等があるかもしれませんがそれは遭遇した時に考える、あるいは遭遇したらLinux Desktopに乗り換えるなどを検討していきたいと思います。実際Linux Desktopへ移行していきたい……
[追記]
良くみてみるとdocker-machineの開発が停滞しているように見えるので、そこは懸念ポイントと言えそうですね……
github.com
まあなんかあったら手でVM運用していきましょう。俺たちにはそれができるはずだ。
[追記]
どれくらい実用的かはわかりませんが docker-machine は gitlab が fork してました https://t.co/RQkIQp7JOp
— Hiroshi SHIBATA (@hsbt) 2021年9月1日
Gitlabがforkしたdocker-machineがあるとのこと。