皆様初めまして、株式会社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。
2 Rancher Desktopを起動
3 起動後、下画像のdockerdを選択しましょう。
これだけで完了です。インストーラーがあると大変助かりますね。
docker-compose 使えるようにしたい
(docker-compose持ってない人は)
brew install docker-compose
学が足りてなくて理解できてないですが、
Docker Desktopから乗り換えると、修正が必要な場合があるようです。
下記ファイルのcredsStore を credStore に変えて下さい。
~/.docker/config.json
つまづいた部分
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管理コンテナを消せます。
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も簡単に作れる様なので軽く触れていきたいなぁと思う次第です。