Docker/Kubernetes 実践コンテナ開発入門 メモ

Docker/Kubernetes 実践コンテナ開発入門

Docker/Kubernetes 実践コンテナ開発入門

  • 作者:山田 明憲
  • 発売日: 2018/08/25
  • メディア: 単行本(ソフトカバー)

これをやっていました。

第一版なので、正誤表をみつつ進めてますが、自分の打ち間違いも含め途中途中ハマりながらやっています。

4.2.7、P133でハマったので、状態と解決方法をメモで残しておきます。

todo_mysql_masterにコマンドでアクセスする場面で、masterが数秒おきに起動したり停止したりして、うまく進めなくなりました。

どこで止まっているのか確認するために、masterのログを確認します。

$ docker container exec -it manager docker service logs todo_mysql_master

以下が取得したログ

(省略)
todo_mysql_master.1.we3ge92vurbg@b56ba56fda4c    | Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
todo_mysql_master.1.we3ge92vurbg@b56ba56fda4c    | Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
todo_mysql_master.1.m4qjkgjrkz8w@b56ba56fda4c    | Version: '5.7.30-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server (GPL)
todo_mysql_master.1.we3ge92vurbg@b56ba56fda4c    | 2020-07-03 09:18:33+00:00 [Note] [Entrypoint]: Creating database tododb
todo_mysql_master.1.m4qjkgjrkz8w@b56ba56fda4c    | 2020-07-03 09:18:40+00:00 [Note] [Entrypoint]: Temporary server started.
todo_mysql_master.1.we3ge92vurbg@b56ba56fda4c    | 2020-07-03 09:18:33+00:00 [Note] [Entrypoint]: Creating user gihyo
todo_mysql_master.1.m4qjkgjrkz8w@b56ba56fda4c    | Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
todo_mysql_master.1.we3ge92vurbg@b56ba56fda4c    | 2020-07-03 09:18:33+00:00 [Note] [Entrypoint]: Giving user gihyo access to schema tododb
todo_mysql_master.1.we3ge92vurbg@b56ba56fda4c    | 
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | 2020-07-03T09:16:23.960358Z 0 [Note] Failed to start slave threads for channel ''
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | 2020-07-03T09:16:23.970909Z 0 [Note] Event Scheduler: Loaded 0 events
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | 2020-07-03T09:16:39.145118Z 0 [Note] Skipping generation of RSA key pair as key files are present in data directory.
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | 2020-07-03T09:16:23.971724Z 0 [Note] mysqld: ready for connections.
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | 2020-07-03T09:16:39.148152Z 0 [Warning] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory.
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | Version: '5.7.30-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server (GPL)
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | 2020-07-03T09:16:39.153249Z 0 [Note] Failed to start slave threads for channel ''
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | 2020-07-03T09:16:39.163731Z 0 [Note] Event Scheduler: Loaded 0 events
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | 2020-07-03 09:16:24+00:00 [Note] [Entrypoint]: Temporary server started.
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
todo_mysql_master.1.we3ge92vurbg@b56ba56fda4c    | 2020-07-03 09:18:33+00:00 [Note] [Entrypoint]: /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/prepare.sh
todo_mysql_master.1.we3ge92vurbg@b56ba56fda4c    | this container is master
todo_mysql_master.1.we3ge92vurbg@b56ba56fda4c    | /docker-entrypoint-initdb.d/prepare.sh: line 6: return: can only `return' from a function or sourced script
todo_mysql_master.1.m4qjkgjrkz8w@b56ba56fda4c    | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | 2020-07-03T09:16:39.164852Z 0 [Note] mysqld: ready for connections.
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | Version: '5.7.30-log'  socket: '/var/run/mysqld/mysqld.sock'  port: 0  MySQL Community Server (GPL)
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | 2020-07-03 09:16:39+00:00 [Note] [Entrypoint]: Temporary server started.
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | 2020-07-03 09:16:28+00:00 [Note] [Entrypoint]: Creating database tododb
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | 2020-07-03 09:16:28+00:00 [Note] [Entrypoint]: Creating user gihyo
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | 2020-07-03 09:16:28+00:00 [Note] [Entrypoint]: Giving user gihyo access to schema tododb
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | 2020-07-03 09:16:43+00:00 [Note] [Entrypoint]: Creating database tododb
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | 
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | 2020-07-03 09:16:43+00:00 [Note] [Entrypoint]: Creating user gihyo
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | 2020-07-03 09:16:43+00:00 [Note] [Entrypoint]: Giving user gihyo access to schema tododb
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | 2020-07-03 09:16:28+00:00 [Note] [Entrypoint]: /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/prepare.sh
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | /docker-entrypoint-initdb.d/prepare.sh: line 6: return: can only `return' from a function or sourced script
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | 
todo_mysql_master.1.vtqqahkpt1zw@a362cdfc8205    | this container is master
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | 2020-07-03 09:16:43+00:00 [Note] [Entrypoint]: /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/prepare.sh
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | this container is master
todo_mysql_master.1.ucp8l1j3p8ck@a362cdfc8205    | /docker-entrypoint-initdb.d/prepare.sh: line 6: return: can only `return' from a function or sourced script

何回かログを取得してみるとどれも、

/docker-entrypoint-initdb.d/prepare.sh: line 6: return: can only `return' from a function or sourced script

で最後が終わっているようです。

該当のprepare.shの6行目は return 0 となっていると思います。

修正前: return 0
修正後: exit

こちらに変更したら、masterのコンテナが停止せずに動くようになりました。

【映画】プロメア 情報量と形の抽象化 極限まで洗練された色と形へのこだわり

プロメアを見たよ

昨年公開された映画、プロメアを見ました。

公式サイト↓ promare-movie.com

人気TVシリーズ天元突破グレンラガン」(2007)、「キルラキル」(2013)の
監督:今石洋之と脚本:中島かずきによる初の完全オリジナル劇場アニメーション『プロメア』が
豪華キャスト陣を迎え、5.24 全国ロードショー!

公開から1年経ってもまだ上映している映画館があるようで、ロングランですね。

プロメア

プロメア

  • 発売日: 2020/05/24
  • メディア: Prime Video

↑↑私は、amazon videoでレンタルしてみました。

まだ見てない方は、一応ネタバレを含みますので、ご注意を!

続きを読む

インプットとアウトプットの比率

最近、もう少し描きたい絵をかけるようになりたいなといろんな読み物を漁ってました。

ア・メリカさんのこの本、すごく勉強になりました。

“主線なし"イラストの描き方

“主線なし"イラストの描き方

  • 作者:ア・メリカ
  • 発売日: 2019/03/18
  • メディア: 単行本(ソフトカバー)

最近、主線を書かないイラストって結構見かけますよね。

ふんわりとした優しい空気感を伝えるにはすごく良い手法だなぁと思います。

いらすとやさんとかもそうですね。

www.irasutoya.com

それで、こういう手法の本を漁ってて気づいたんですが、最近絵を描くことについてのインプットを自分は全然していなかったなと思ったんです。

ただ、描くこと自体を楽しむのであれば、描くこと、つまりアウトプットだけし続ければ良いのですが、上手くなりたいと思った瞬間にインプットが不足していることに気づくのです。

物事は、アウトプットとインプット実は偏りがちで、放っておくと人間楽な方に流れてしまいます。どちらかに偏っていることに気づくのには少しきっかけが必要なのかもしれないと思いました。

例えば、毎日料理をするのであれば、「料理上手くなりたいなぁ」と思った瞬間に、レシピや動画が手の届く範囲に割とたくさんあって、アウトプットに偏っていたこれまでの行動に新たなレシピや調理法をインプットしてもっと美味しい料理が作れるようになります。

でも、上手くなりたいなぁと思うきっかけがなければおそらくインプットをしないまま手癖で料理をし続けるでしょう。

この手癖で作業のできる状態、何も考えずに目的が達成できるのですごく心地よいゾーンだと思うんですが、逆にいうとその期間、インプットがないので成長がほとんどないんですよね。新しいことに挑戦することは楽しいことであると同時に、上手くいかないというストレスを抱えていくことになります。

もし、ある分野(趣味でも仕事でも)で向上心を持って何かに取り組みたいと思ったら、あえて定期的に外部からの刺激によって成長を促すストレスを取り入れていくことも大事なのだなぁ。と思いました。(もちろん抱えられる範囲のストレスが身のためだとは思います。)

新撰組 燃えよ剣とPEACE MAKER

しばらくブログの更新が止まってしまっていたのですが、ずっとタイトルの2作品を交互に読んでいました。
今回はそれについて書きたいと思います。

燃えよ剣

燃えよ剣は幕末に活躍した新撰組の副隊長、土方歳三の生涯を追う司馬遼太郎さんの有名な作品。

燃えよ剣 (文春e-book)

燃えよ剣 (文春e-book)

延期になっているようですが、映画も今年公開予定ですね。

PEACE MAKER

こちらは、もともとガンガンで連載していた漫画で、Wikipediaによると、1999年4月に第1巻が発売されているようなので、もうかれこれ21年間も続いている作品だと思うと感慨深いですね。
主人公は、土方歳三の小姓 市村鉄之助を主人公に史実と創作を織り混ぜたフィクションとなっています。

新撰組異聞PEACE MAKER芹澤鴨暗殺後、局長近藤、副長土方の体制から始まり、それ以降から池田屋事件までを描いています。

PEACE MAKER鐵は、その池田屋の後からの話を描いていて、現在も続いています。

なぜ並行して読み始めたのか

3つ理由があり

解決した?

燃えよ剣に出てくる、七里研之助はPEACE MAKERに出ていなかったことの確認
出ていませんでした。七里は架空の人物でした。司馬遼太郎さんの作品はすごく史実に沿って描かれているので、どこまでが史実でどこまでが創作なのかこの作品単体で読んだときに少しわかりにくいですね。確認できてスッキリしました。ちなみに、お雪さんも同様に架空の人物ですね。 西昭庵のエピソードすごく染みてよかったです。

燃えよ剣池田屋事件以後、大政奉還までがマッハで終わったので、PEACE MAKERはその間何を描いていたのか
伊藤甲子太郎の暗殺を行う油小路の変が2巻分にわたり結構壮大に描かれていました。近藤派、伊藤派で隊の絆を描くには、確かに使いやすいエピソードだなと思いました。

伊東甲子太郎の入隊以後休載となったPEACE MAKERの現在
基本的には、燃えよ剣と同じよう土方歳三が辿った京都→江戸→宇都宮→北海道の軌跡を辿っているようです。 最新刊は会津城で戦っています。

並行して読んで思ったこと

人がバタバタ死んでゆくので辛いですね。特に敗走が始まってから近藤さん沖田さんと続けて新撰組の重要な人物が亡くなっていゆくあたりがかなり辛いです。

PEACE MAKERでは、オリジナルの黒猫さんたちが出てくるのですが、沖田さんの死亡時の黒猫のエピソードに絡めるのだろうなと予想はしていたものの、思った以上に良い話になっていました。自分を苦しめるために差し向けられた刺客にお団子を置いとくとか尋常じゃないです。

竜馬がゆくを読んでいる時から薄々思ってはいましたが、司馬遼太郎さんは新撰組やその組織の人間あまり好きじゃないんだろうなと思って読んでいました。もともと農家の育ちなので学がなく、とにかく視野が狭い故に、最後まで敗走するしかなかった。そんな印象を受けました。

おそらく、近藤さんが大政奉還時に身の振り方に悩んでいたようにあの時、幕府側でなく天皇側についていれば少なくとも近藤さんは生きていたのだろうなと思いました。

近藤さんがどういっても戦うだけだと戦場に出かけていく土方さんは、考えや思想・哲学を途中で変えることをすごく恥ずかしいことであるかのように捉えている印象を受けました。周囲の人々からいろいろな考え方を受け取り、自分の考え方や意見がそれによって変わっていくことを楽しんだ方が幸せだよなぁと反面教師的に受け取りました。

それと、大政奉還以後薩長の軍隊と戦うにあたり、武器のアップグレードが激しく旧式の武器が次々に使い物にならなくなる様子を見て、エンジニアが常に勉強し続けないとすぐに現在の技術が旧式になってしまうのに似ているなぁと思いました。また、「歩兵心得」という本が途中出てきますが、あれが土方さんが北海道まで敗走できた要因かなと思っています。武器は最新であればあるほど良いが、古い武器でも使えないことはなく、大事なのはどう戦いを組み立てていくか、戦いの設計に当たる部分の基礎がありさらにアップデートされれば多少技術が古くなったとしても戦えるものだなぁと思いました。

辛い話が続きはしたものの、過去好きだった作品をまた追いかけるきっかけにもなり読み始めてよかったです。PEACE MAKERは主人公が市村鉄之助のため、戊辰戦争まで描かず、土方さんに江戸に追い返されてとりあえず生き残って取りうる限り最高の細やかなハッピーエンドで終わるのではと淡く期待しています。

【SCRAP】ある2つの通信基地からの脱出【ネタバレなし】

ある2つの通信基地からの脱出

5/1にSCRAPから「ある2つの通信基地からの脱出」が発売されました。

通常、SCRAPでは謎ビルやミステリーサーカスなどの会場で謎解きを行っていますが、緊急事態宣言下で外出自粛を余儀なくされる中発売されたのがこちらです。

概要

これは何?

北極と南極の通信基地に分かれて、それぞれリモート通信、LINEなどを駆使して協力する謎解きキットになっています。 謎解きでLINEを使うことはたまーにありましたが、リモート通信を使用するのは今回が初めてな気がします。

所要時間は?

1時間30分〜3時間くらいかなと思います。私は2時間で終わりました。

必要なものは?

  • 「ある2つの通信基地からの脱出」謎解きキット
  • 一緒に遊ぶ相手(北極と南極に分かれるので最低人数は2人です)
  • LINE
  • 「映像」と「音声」のやりができるもの(zoomやgoogle meetなど)

リモート接続とLINEを切り替えなければならなくなるので、リモート接続の手段がスマートフォンしかないと厳しいかなと思います。PCやタブレット端末でリモート接続、スマホでLINE操作という感じなると思います。ちなみに、旦那と私2人で北極と南極に分かれてそれぞれ謎解きをしました。同じ部屋で行ったので、リモート通信は使わずに行いました。

謎解きキットは、北極と南極、それぞれ片方ずつの購入と両方購入ができるので、離れている友達同士で買ってもOK。家族でやるなら、両方セットを購入すればOK。という感じになってます。

f:id:canopy-4160:20200601092309j:plain:w400

購入先リンクはこちらです↓ www.scrapgoods.jp

やって見ての感想

家族でやる場合、できる限り別室で行った方が良いかなと思いました。視線で何かを伝えてしまったり、音声オフの指示などがある場合でも笑い声が伝わってしまったり、厳密にリモートの状態を作れないのでその辺の難易度は下がるかなと思います。

逆にいうと、リモート通信であることを100%活かした、良い謎だったなと思います。ただ、なんだか物足りない感もあるなぁと正直思いました。

この物足りなさ、おそらくSCRAPの会場に足を運んだことがある方ならお分かり頂けるかもしれない。SCRAPの謎解きは謎解きと言いつつ舞台なんですよね。司会進行の方は、おそらく俳優さんや俳優志望の方を起用していて、幕開けからその世界観に引き込んでいく役割をになっています。
そして、場面場面で切り替わるBGM。臨場感を出すために、ラスト5分とかでかかるあの音楽。緊張しますよね。
SCRAPの謎解きが他と一線を画するのは、そういった舞台演出の賜物だと思います。小道具にもこだわるし、アクションに合わせて効果音もつけるし、ストーリーもドラマティックだし。解いていくだけなら淡々と終わる謎解きを感動できるレベルまで引き上げていくためにしていることがたくさんあって、私も気付いていない細かい仕掛けもきっとあるのだと思います。

6月に入り、徐々に通常の公演も始まっているようです。
6月の新作:ある沈黙からの脱出

うわー、面白そう〜

今の情勢に最大限配慮した良いコンセプトですね!これからの公演も楽しみにしています!!

読書感想:「三体」 当たり前が崩れていく

SF小説 三体

本屋さんで平積みされているのをみて、前からとても気になっていました。

三体

三体

5/17から読み始め、1〜2時間ずつちまちま読んで28日の昨日やっと最後までたどり着きました。(まだ第一部なんですが)

感想の前に、同じく「三体気になってる」「読み始めたけど挫折した/しそう」という方に、一点お伝えしたいことがあります。

第二部 三体 「7.三体 周の文王と長い夜」 までは読んでみてください。そこまで読んでいない方は、おそらく三体がどういう話なのかその片鱗に触れられていません。

この三体という小説で私が「うっ、苦しい」と思った要素が3つあります。

  1. 止めどなく流れてくる物理や科学の用語
  2. 中国の歴史的背景がわからないこと
  3. 中国人の人物名が馴染まないこと

第一部の冒頭からフルスロットルで上の3要素がぎっしり押し寄せてきます。
ですが、読み進めるとこう変化します。

  1. 物理や科学の用語は割と読み飛ばしても大丈夫(話の流れはわかる)
  2. 第二部になると一気に時間が現代になる
  3. 主要人物が分かってきてだんだん慣れてくる

私は途中まで、汪淼(ワン・ミャオ)のこと女性だと思って読んでいました。(ミャオなんて可愛い響き、きっと女性だ🥰え、妻と子供がるの? 🤯)

なので、読み進められなかった要素が同じだなぁ〜という方は是非大きな流れを追って三体がどういう物語なのかを知っていただければなと思います。

そしてここから先はネタバレ有無気にせず感想を書きます。

続きを読む

Oisix 夕飯何食べる?からの解放

Oisixを始めました

申し込んだのが4月からで、それから2ヶ月くらいが経過しました。 きっかけは、緊急事態宣言が出たことで、買い物にいく機会を減らすのが目的でした。

www.oisix.com

Oisixの特徴

  • 週一回、選択したものを全て宅配で届けてくれる
  • 「ちゃんとOisix」or「Kit Oisix」は食材とレシピがセット
  • 牛乳やヨーグルトなど任意に3つまで無料で選択できる「0円パス」

ちゃんとOisixとKitOisixはどう違うの?

ちゃんとOisixについて

  • 週3と週5が選べ、週3なら3日分の食材とそれを使ったレシピが届く
  • 届いた食材は加工されていない状態で届く
  • 調理時間は大体30分とあるが我が家は1人で行うと50分はかかる

こんな感じのが出来上がります。
すごく彩り豊かです。
f:id:canopy-4160:20200526092856j:plain:w400 f:id:canopy-4160:20200526093231j:plain:w400

KitOisix

  • 1食分のミールキットがパックされている
  • 食材は使う分だけ少量入っている
  • 物によって違うが調理時間は大体20〜30分(大体時間通りできる)
  • 1食分の単価的にはこちらの方が高いです

出来上がりはちゃんとOisixとそんなに変わりませんね。
f:id:canopy-4160:20200526093359j:plain:w400

我が家の運用

リモートワークで週7家にいるので、ちゃんとOisixの5食分とKit Oisix2食分を組み合わせて注文しています。 ちなみにお昼ご飯は気分で作っているので、パスタが6割、レトルトが2割、ウーバーイーツが1割、コンビニが1割みたいな感じで完全に手を抜いています。笑
それでも、夕飯がOisixなので一食分はきちんと栄養取れている!という満足感があるので良いかなとは思います。
ちなみに、調理は私と旦那2人でやっています。平日は先に仕事を上がった方(主に私)、休日はほぼ旦那がやってくれます。料理は旦那の方がうまいです。

メリデメ

メリット

  • レシピがついてくるので、夕飯のメニューを考えることから解放される
  • 食材を使い切れる量だけ送ってくれるので、フードロスが減る
  • 普段食べない食材も送ってくれるので、食材との出会いがある
  • 普段しない味付けも学べるので料理のレパートリーが広がる
  • 家に直接届けてくれるので、重い買い物袋から解放される

デメリット

  • 想定されているのが2〜3人なので、単身者向けメニューはない
  • 毎食レシピを読みながら作るのが少し疲れる
  • 我が家の運用だと夫婦2人で月4万くらいなので、それ以下で運用されている方には高く感じるかもしれない

あくまで、この緊急事態宣言下での運用なので週7運用していますが、リモートワークの比率が下がったら。。。と考えるとこれから先運用を変える必要は出てくるかなと思っています。ただ、現時点では、Oisix申し込んでよかったなと思っています。
💮