その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

macOSでDocker Desktopをアンインストールしてdocker-cli + docker-machineで動かすようにする

www.docker.com

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を動かし、ホストからそのVMcliを繋いでdockerを使うという方法をやっていくこととします。どことなく懐しいですね。podman使うとかでも良かったんですけど、ひとまずdocker cliでやります。

まずDocker Desktopをアンインストールする。

f:id:moznion:20210901111820p:plain

"Troubleshoot" メニューを開きます。この虫マークは "Troubleshoot" というメニューだったのですね。バグレポートボタンだと思ってた……

f:id:moznion:20210901111903p:plain

アンインストールしましょう。これで完了です。

そして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運用していきましょう。俺たちにはそれができるはずだ。

[追記]

Gitlabがforkしたdocker-machineがあるとのこと。