株式会社Casa TECH BLOG

日々、FAX/電話/紙等リアルと戦う事業系IT部門の戦士たちのブログです。

Docker Desktopの代替品を探してみた

皆様初めまして、株式会社Casaにてインフラやサービス開発を担当している佐々木と申します。

今回の記事は
2021年中頃、Docker Desktopが有料化されたので、代替品を探し触り心地やRancherでのつまづきを紹介したいと思います。

有料化の詳細はこちら:
https://www.docker.com/blog/updating-product-subscriptions/

本日のお品書き:

代替品の候補

1 lima

対応OS : mac
所感:インストールがちょっと煩雑でローカル構築には向かないかなぁ。
公式リンク:
https://github.com/lima-vm/lima

2 Rancher Desktop

対応OS : Mac , Windows , linux
所感:インストーラー付きでGUIも有り、使いやすさはDocker Desktopとほぼ同等かな。
公式リンク:
https://rancher.com/products/rancher

3 DockerのCLIを使い続ける

所感:limaよりかは良いが、やっぱりGUI欲しいなぁとなっちゃう。

Rancher Desktopインストール手順

1 公式からインストーラーをDL。

rancherdesktop.io

2 Rancher Desktopを起動

3 起動後、下画像のdockerdを選択しましょう。

これだけで完了です。インストーラーがあると大変助かりますね。

dockerd

docker-compose 使えるようにしたい

(docker-compose持ってない人は)

brew install docker-compose

学が足りてなくて理解できてないですが、
Docker Desktopから乗り換えると、修正が必要な場合があるようです。
下記ファイルのcredsStore を credStore に変えて下さい。

~/.docker/config.json

参考: https://forums.docker.com/t/docker-credential-desktop-exe-executable-file-not-found-in-path-using-wsl2/100225/3

つまづいた部分

mysqlが動かない?

mysql起動時に以下エラーが発生。

chown: changing ownership of '/var/lib/mysql/': Permission denied

dbの永続化に関わるファイル周りの権限がうまくいってない様子。 たぶんvolumeとか一旦全部消した方がいいのかな。

1 以前のdbフォルダ削除
2 volume削除コマンド実施

docker-compose down --rmi all --volumes

3 compose upしたら動きました

initdbが効かない?

compose up時にinitdbが走らないので、 暫定的にcompose.ymlに明示的に書いてあげたら動きました。

        volumes:
            - ./initdb:/docker-entrypoint-initdb.d

redisも動かない?

こちらも上記と同じくcompose up時に発生。

chown: changing ownership of '.': Permission denied

どうにも分からなかったのですが、compose.ymlで明示的にredisバージョンを指定したら動きました。

image: redis:latest から image: redis:2に変更

Rancherが定期的に落ちる?

docker 上げ続けたまま帰ると、次の日こんなエラー吐いて落ちてる。

unexpected EOF

対策:docker 落として帰りましょう。Rancher再起動すると普通に動きます。

おまけ

80portの解放

80番portはデフォでk8s用に使われているので、コンテナしか使わないよって方は 下画像の赤枠部分のチェックを外してあげるとk8s管理コンテナを消せます。

k8s_off

PC起動時にRancherを起動させたい

今日も働くぞー。

docker-compose -p hogehoge up ポチッと
> Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

クソォ。

システム環境設定> ユーザとグループ >「ログイン項目」> ウインドウ下部にある「+」をクリック。 アプリケーションフォルダ内の、自動で起動させたいアプリを選択してクリック。

参考: Macでログインするときに項目を自動的に開く - Apple サポート (日本)

以上。

今回はDocker Desktopの代替としてRancherDesktopを触ってみましたが、
k8sも簡単に作れる様なので軽く触れていきたいなぁと思う次第です。