Docker for Mac がアップデート後に起動しなくなった件
Docker for Mac がアップデート後に起動しなくなったのよ
以前にも同様のことがあった気がするが、また遭遇。せっかく週末にやる気を出そうとしている中で、こういうハマりをするのはお控えいただきたいところ。
エラーの内容はこんな内容で、単純に restart しても状況は変わらず(再度同じエラーになって docker は起動しないまま)
2021-09-04T01:15:49Z dockerd time="2021-09-04T01:15:49.913926085Z" level=debug msg="Calling GET /images/sha256:33173ccd286743e6b1c1b663a354562737b2980d2bbb6d7b493edbea8926ef4e/json"
macでdocker desktopが起動しないときのシンプルな対処方法 | DevelopersIO
ここらへんを見て、まぁ、そうか、そんなところか。と Reset to factory defaults
を選択して再起動させる。
この日は試行錯誤の結果、上記のResetしても、アンインストール→インストールし直しても、動作してくれなかった。
対応に疲れたのもあり、当時は Docker Desktop が 4.0.0 になったばかりだったので、メジャーバージョンアップ起因の問題と勝手に決めつけて、次のパッチバージョンが出るのを待った。(つまり、一旦諦めて放置)
(後述する)解決編の要点
- 原因は、mackup の Dropbox バックアップ(シンボリックリンク化)と、Dropboxの同期不調の合わせ技と思われる
- 直接の起動失敗理由は、
docker-cli-api.sock
にDockerがアクセスできなかったこと - mackup のバックアップ対象からDockerを外し、Dropboxフォルダへのシンボリックリンクを削除したら解決
解決編
新バージョンでもエラー再び
Docker Desktop が 4.0.1 が出たので、もう一度インストールからリトライしてみるも、まだ別の内容でエラーが出る。
解消する前にエラーのキャプチャを撮っておけば良かった、当時出ていたエラーメッセージはこんな内容。(以降、 username
部分はMacのユーザ名が入ります)
monitoring tasks: one of the sub-processes failed unexpectedly: docker serve --address unix:///Users/username/.docker/run/docker-cli-api.sock (pid: 64654)
ここから再度Reset Default ...をやっても、アンインストール→インストールしても、事象は解消せず。
エラーメッセージを冷静に見て状況確認
エラーメッセージをコピーしてググったりはしていたものの、それ自体をよく見て状況確認することが抜けていた。(恥ずかしながら) /Users/username/.docker/run/docker-cli-api.sock
のファイルは今どういう状況なのか?を確認しに行くと、そもそも /Users/username/.docker
配下に /run
ディレクトリが無かった。。
その代わりに、 /Users/username/.docker
配下には、run (選択型同期の競合)
という名称+連番のフォルダが無数にできていた。
run (選択型同期の競合) run (選択型同期の競合 1) run (選択型同期の競合 2) :
各フォルダの配下には、事象に関連する2ファイルが確かに存在している
選択型同期の競合 とは?
ところで「(選択型同期の競合)」って、なんやねん?ということでググってみる
なるほど、Dropboxに関連する事象か。
ん?この .docker
フォルダってDropboxと何か関係しているんだっけ?
事象とバックアップ機能との関連に気づく
/Users/username/.docker
の状況を確認すべく、 ls -la
で確認してみると
~/.docker -> /Users/username/Dropbox/Mackup/.docker
というシンボリックリンクになっている。なるほど。そうか、バックアップアプリの mackup が .docker
ディレクトリをDropbox フォルダ下にシンボリックリンク化させてたのか。
具体的に解決
mackup のバックアップ自体は重宝していたが、Dockerに関する設定やデータちゃんとバックアップしたい、という強い思いもなかったので、ここは単純にmackup のバックアップ対象から外して元の状態を復旧することにした。
% unlink .docker
% vi ~/.mackup.cfg
で以下の内容を記入
[applications_to_ignore] docker
これにて、Dockerが無事に起動するようになりました☆めでたしめでたし
日本には多難が降りかかっておりますが、七夕でした
日本全国とくに西日本方面で記録的な大雨で大変なことになっておりますね。東京の新型コロナ感染者数もリバウンドした結果、再度の緊急事態宣言が発令される見込みとなり、ワシの新しい会社への入社日は緊急事態宣言中ということが確定しましたウス。
さぁ、そうこう言いつつ実はこのブログ更新を7月3日以降4日間も途絶えさせてしまいました。土日は、まいっか、という気の緩みからズダズダーっと地滑り的にダメな私が私なのって、継続は難しいものですね。今日は3日以降のブログを全部書いて取り戻そうとも一度は思いましたが、それで今日分を更新する気力が無くなるのも本末転倒な気がしたので、過去分のリカバリは後日ベストエフォートでやることにします。(勝手に割り切り)
RHODIA の goalbook とバレットジャーナル
ブログは更新サボっていたとはいえ、愛用のRHODIAの goalbook には日々のジャーナルログを書くのはちゃんと日課にできているので、やっていたことを掘り起こしてブログとして書くのは単に作業としてできる状態ではあります。RHODIAのノート大好きです。
んで、この goalbook には「バレットジャーナル」形式で月単位の計画&記録と日々の記録を残すようにしています。ごくごく簡単に表現すると「毎年/毎月/毎日の目標や予定を書いては見直して修正する」「日々の記録は箇条書き」だけなのですが、これが色々と奥が深いと言うか応用の幅が多々あるので、興味がある方はここらへんとか
この書籍を読まれると、正しい理解で効果的に取り組めるかと思います。私はマル2年はこれを続けています。
Ruby on Rails チュートリアル
第6章ハマりポイント
rails xxx
コマンドが応答しなくなる
この章に特有のハマリポイントではなく、たまたま今日ここをやっているときに発生しただけなのですが、 rails t
が応答しなくなった。Ctrl+C
を押すとエラーを吐きつつ制御は戻ってくるのだが、どうにも復旧しなくて困った。
【Ruby on Rails】rails g コマンドが反応しない時の対処法 | Darablog
によると、springというヤツが原因らしく、記載のとおり spring stop
で解消した。Rubyの世界にもJavaの世界にもSpringは大活躍なのね、と。。。
その他
Ruby on Rails チュートリアルには(今までやった範囲では少なくとも)載っていないのですが、アプリを作るときにGitHubを使っていてCIさせていないのが違和感というか不安を覚えるので、GitHub Actions を使ってRailsアプリのCIを実装しておいた。
参考にしたのは、この2つ。
- https://andycroll.com/ruby/github-actions-ci-for-rails-with-postgresql/
- https://github.com/niclin/rails-github-actions-example/blob/master/.github/workflows/rails.yml
1点目のほぼコピーだけでは rails test
で「webpackerが〜」というエラーになってしまい完全に動いてくれなかった。2点目のサイトから「Install dependencies」のあたりを流用してきたら前提が整って動いてくれました。
最終形は↓コレです。(実際のチュートリアル学習ソースは private リポジトリにあるので、CI設定ファイルだけサンプルとして抜き出し)
https://github.com/shionit/rails-devcontainer/blob/main/.github/workflows/rails-ci.yml
やっぱりCIがグリーンになると気持ちいいですな。 README.md に build status badge も追加しておいた。
今日やったこと
- (星乃珈琲店で初モーニングをいただきながら)読書(今日はちょっとオシャレに)
- Ruby on Rails チュートリアル(6章)
- 澤さんのVoicyを聴きながら
今日思ったこと
まだまだM1 Mac使いには険しい道が多い世の中でした
Ruby on Rails チュートリアル
さぁ、今日も今日とて勉強しておりましたが、思いもよらぬ開発環境問題でまたハマり直しまして、結果的に1章の一部をやり直す時間もかかってしまったので 2章/day 進める予定でしたがそこまでは進まず。(2章でどっと疲れた後、気分転換にGoの勉強をやったのが長引いた、というのも原因なので、時間的には余裕はありました)
とりあえず、M1 arm のMac(&Dockerの組み合わせかな)は今回のRailsに限らずハマりどころがまだ多い世界だと思うので、今は AWS Cloud9を使うのが無難なのかな、と。またはCloud IDE で思い出したけど GitHub Codespaces も可能性がある気がするので、どこかで試してみるか。←一応 Beta版利用の承認がおりてるので使える
第2章ハマりポイント
rails generate scaffold
でエラー
- これをやって手軽さを実感するのがメインの章なのに...
Function not implemented - Failed to initialize inotify
と出てくる。昨日ハマった 「M1 arm docker is using qemu and this doesn't support inotify.」と同じ原因に行き着いてしまうのね- ここは諦めて AWS Cloud9 使ってチュートリアルを進めることにした
AWS Cloud9のプレビューが上手く表示されない
「VFS connection does not exist」と表示されるパターンでした。
- AWS Cloud9のプレビューが上手く表示されない時の対処法 | プログラミング入門ナビ あたりを参考に対処、具体的には以下の2つの対処で解消した
今日やったこと
- (朝起きてブルブルマシンに乗りながら)読書(習慣化中)
- Ruby on Rails チュートリアル(2章)
- GoでWebプログラミング
- 澤さんのVoicyを聴きながら
今日思ったこと
- こうやって書き出してみると、環境問題以外では特にハマる要素がないんだよな、、、残念感。
- 明日は、もう少し休憩をこまめに入れて、継続力をアップさせつつ1日トータルのペースアップを図るかな
Ruby on Rails チュートリアル始めて早速ハマった
7月に入りました。今月はRuby(Ruby on Rails v6)をガッツリ学ぶのが必須テーマなので、それを優先的に頑張ります。
Ruby on Rails チュートリアル
- Ruby on Rails チュートリアル Rails 6 (第6版)を購入して開始
- 【公式】Railsチュートリアルの歩き方【解説動画】 - YouTube も1.5倍速で視聴
開発環境
- 開発環境は Cloud9 or ローカル環境とのことで、ローカル環境を直接汚したくないので VS Code の DevContainer で用意した
第1章ハマりポイント
まずは作った開発環境の動作確認を含め、第1章をやってみる。早速幾つもハマって時間を消費したのでログを残しておく。
rails webpacker:install
に失敗する
rails new
の時点でエラーになっていた気がする。どういうこっちゃ。。。- その後の
bundle update
ではエラーにならないが、結局 webpacker のインストールができていないままなので、次のrails server
でエラーになる - エラーメッセージに
Errno::ENOENT: No such file or directory @ (中略)/config/webpacker.yml
が出てた【Rails】rails webpacker:install に失敗する場合の対処法 - Qiita を参考に config配下にwebpacker.ymlをコピペ(乱暴)後に、この対処だけではHerokuで動作しなかったため、改めてrails webpacker:install
を実行して解消した- 後日再検証して、この↑暫定対処は不要ということを確認。次に挙げた
development.rb
の修正をしてからrails webpacker:install
だけでOKでした
Function not implemented - Failed to initialize inotify
でアプリ起動エラー
- https://github.com/evilmartians/terraforming-rails/issues/34 と全く同一の事象と思われる
- 最後のコメントで解説してくれていますが「M1 arm docker is using qemu and this doesn't support inotify.」ってまたM1 arm docker問題かい orz
その他
Git や Heroku は経験済みなのでハマるところ無かったけど、 Herokuにデプロイしてアプリの動作確認はするが「アプリの停止」について触れられていないので、知らない人はFree Tier使い切りそうな懸念あり。
Herokuのアプリケーションの停止 / 再開 - Qiita を参考に停止しておいた。Herokuは久しぶりだけど、アカウントが有効活用される日が来てよかった。
今日やったこと
- (朝起きてブルブルマシンに乗りながら)読書(習慣化中)
- マネーフォワードME のプレミアム会員に登録した
- 7月のカレンダーにタスク計画をブレイクダウン
- Ruby on Rails チュートリアル を購入して開始
今日思ったこと
今週は3つもオンライン勉強会の予定がありAirPods Pro大活躍
6月も最終日です。2021年も半分が過ぎました。今年は個人的に大きな変化のある年になる流れだなぁ。明日から7月だから1ヶ月の活動計画をざっくり立てとかないとな。
澤さんのVoicy聞いてる
5月か6月のSlackイベントで元マイクロソフトの澤円さんが登壇しているのを聞いて、相変わらずいいことばかり言うなぁと関心。それをきっかけにVoicyというサービスを知り、スマホにアプリをインストールして澤さんのチャンネルをながら聴きしている。
Voicyは音声コンテンツを配信しているプラットフォームで、インターネットラジオとか少し前のPodcastのイメージに近いサービスだと思う。
毎日更新されるので楽しく聴かせてもらっているのですが、既に 1,230回(本稿執筆時点)も放送されていて、メインテーマの話とか対談とかの他にリスナーからの質問に答えるコーナーがあるんだけど、これが毎回本当にいいこと言う。ん?ここでの「いいこと」ってなんだろう。
まず、言いたいことの論理が整理されており、まとまった形で出てくるから飲み込みやすい。あと、悩んでも仕方がない解決しようがない問題はバッサリと切る(諦める/距離を置く)という合理的なスタンスも気持ちいい。日常にはシンプルな問題というのは少なくて、大体が複雑に絡み合った問題になったものが多いですが、それをシンプルに紐解いた上でそういう整理と割り切り方ができる、というのは参考になるなー、と。それらが、肩の力が抜けたジョークを交えて語られるので、非常にリラックスして聴いてられるオススメの良質コンテンツです。
今日やったこと
- 先日買った Magic Keyboard が届いた♪
- (朝起きてブルブルマシンに乗りながら)読書(習慣化中)
- 情報処理安全確保支援士のオンライン講習1/6完了
- 未読メールを減らす 234 -> 209
- GoでWebプログラミング
- オンラインイベント 現場の声にとことん応える!ペーパーレス最前線のプロダクト開発 - connpass 視聴した
- Evernote で表を作ってたものを Googleスプレッドシートに移行した
今日思ったこと
- Magic Keyboard とワイヤレスマウスでお試し
- キーボードは快適に使えているので買って正解!
- Windowsで使ってたマウスはスクロールホイールが逆になるので気持ち悪い。かといって設定を逆にするとトラックパッドも連動していてムーン...
- 皆様、同じ悩みを感じていたようで。 Scroll Reverser for macOS をインストールして解決
- 情報処理安全確保支援士のオンライン講習
- 去年のものと大きく内容に差はなかった。理解度確認テストは一発で満点とれたので気持ち良い
- 去年から受講時の電子メモを取ってたのが良かった。差分をUpdateすればいいだけなので、スムーズに勉強できた
- 社外向けの自社のイベントで自社メンバーが賑やかししてくれるのは心強いというか、雰囲気としていい感じだな
- やっぱり表形式のデータはスプレッドシート一択だな、使い勝手の面で
継続は難しい、だからこそ尊い
「日々ブログ更新する」といいながら日付更新後に遡り更新を騙し騙し運用しておりましたが。昨日はついに更新やりきれず。投稿日時は細工してあるものの、実態は翌日午前に更新しております懺悔。
今日こそはちゃんと今日のうちに更新する。 という緩い決意表明をしつつ、手短に。。。
今日やったこと
- (朝起きてブルブルマシンに乗りながら)読書(習慣化中)
- 元上司とWeWorkで近況話す&ランチ
- プロダクトマネジメントとプロジェクト推進|プロジェクト推進を考える会 Vol.2 | Peatix をオンライン視聴する
- GoでWebプログラミング
- Kindle版をポチった
- 未読メールを減らす239 -> 234
今日思ったこと
- 一昔前に話題になっていたコワーキングスペースというやつに初めて行ってみた(ゲスト扱い)
- フリーエリアは一定空間を保ちつつ埋まっていたが、契約者スペースはほとんどガラガラで空いてた
- フリードリンクを飲みながら元上司と雑談していたが、空間が広いので普通のトーンで話している限りは周囲に気を使って話すような必要はない感じ
- ノイズが少ない環境なので集中する空間としてはいいかもしれないが、近所の図書館で大丈夫な人はそれで十分かも
- 「プロダクトマネジメントとプロジェクト推進」というオンラインイベント
- 及川さんがゲスト参加されるので視聴してみた
- 全般的に、ファシリテートだとか球拾いとか脱線戻しとかサマリとか、、、及川さんの負担が重めのトークイベントだな、という印象(お疲れさまでした)
- Twitter hashtag #プロダクトマネジメントとプロジェクト推進 - Twitter Search
- 未読メールを減らす活動
- Gmailの受信トレイが溢れているが、ざっとスクリーニングして「今となっては読む必要のないメール」は即削除して大量削減済み
- 残りは「メールから派生したサイトの記事なり資料をちゃんと読んでからCloseする予定のメール」のみ、一つ一つが少し重い
- とりあえず、継続的な活動としては「未読メールが増えないようにする」がMUSTで、日々そのための時間を少しずつ確保して、あわよくば徐々にでも減らしていく、の気持ちで健全化を目指す
笑いを愛し笑いに愛された男を応援してます
本日、平日だけどちゃんと朝から起きて活動し、昼過ぎに旧MacBookを売りに行ったついでに、エヴァンゲリオンの映画を観てきた。
ワシとヲタク大学とエヴァンゲリオン
大学時代は当時ヲタクの多いことで有名な大学だったので、エヴァンゲリオンTVシリーズ全盛期のあの頃「エヴァンゲリオンは必修科目」とか学生の中では言われていて、興味ないけど観ておかないと会話についていけないし面倒くさいなぁ、という感じでしか思っていなかった。一応TVシリーズ観たけど、終わり方の意味が分からんくて「おめでとうって何?これ何?」って消化不良してた。
のだが、最近YouTubeでチャンネル登録しているサンシャイン池崎がシン・エヴァンゲリオン劇場版シリーズの今まで公開された各回3分(時間内に収まっていないけど)まとめ動画をアップしていたのを見て元の映画は見てないけど単純に笑えた。んで元の映画とどれくらい一致しているんだろうかと気になってAmazon Prime Videoで『序』『破』『Q』の3作を観たところ、サンシャイン池崎の再現度の高さに爆笑&感動したので、これを踏まえて最終回である『縦ボクロ・ポッキーポッキー』を観に行ってみようか、という気持ちになった次第です。(縦ボクロ... というのは何か?というのはYouTube動画を参照ください)
(サンシャイン池崎さん応援してるんで、皆様ぜひご覧いただきたい劇場版まとめ動画)
最終回の映画を観た感想は、思っていたよりちゃんと結論を締めくくっていたので安心したのと、やっぱり庵野監督は頭がおかしいと思った。入場者特典はメルカリで売るかな。。。
今日やったこと
- (朝起きてブルブルマシンに乗りながら)読書(習慣化中)
- 美文字の練習(習慣化中)
- 旧MacBook(12inch 512GB Early2016)を買取に出す
- 『シン・エヴァンゲリオン劇場版𝄇』観た