<MUP 本日のうさぎクラスLive> 2021-01-28 Creativity Structure

■はじめに

  • 数倍のスピードで解決策のヒントや論議ができる
  • コンテンツを考える速度と精度が上がる
  • 相手に何が問題なのかを伝えるスキルがつく
  • 管理職として部下、メンバーに正しい答えを出すことができる

これらができるようになろう。

■結論

  • 変化の早い世の中に適用するためにはフレームワークの使用が必須
  • 大きな目標のためにまずWMCクレームワークを使う
  • 具体的なアクションプランのためにマンダラートを使う
  • アクションプランの優先度を感情振れ幅と実施コストで優先度分け
  • 優先度の高いものから実行
  • PDCAでは遅いので、常にOODAループで現場視点で修正、実行

フレームワークが大事

世の中の変化が早い時代

PDCA → 遅い
OODA → 早い


変化に対応するには幅広い知識が必要

幅広い知識を吸収するのは大変

フレームワークを使用して時間短縮

このフレームワークをどれぐらい持っているかが重要
(経営知識、論理的思考)

■目標設定(マンダラート)

以下のサイトでPDFの無料ダウンロードできるので、参考に。
conote.info

なんと大谷翔平選手は高校1年の時に目標設定に使用
これ知っただけでも激しく大谷選手をリスペクト。
ページ内に出典あり。

  1. 9個の真ん中に必ず「目的」を入れる
  2. 目的を支える9個の要因を入れていく
  3. 周辺の9個の要因を中心にしてまた更に9個の要因を考える

これがTODOアクションリストになる

■TODOアクションリストの精査と実施

全部はできないので感動振れ幅、実施リスクの2軸で優先度設定を行う

感情振れ幅(感動・喜び・意外・便利)
実施リスク(コスト・時間)

感動振れ幅が高く、実施リスクが低いものが優先度高!

■目標のための根本思想(Will Can Must)

人生は短い
30歳で残りの寿命は18,000日

なので目標を設定して、時間を大切にして人生を進むこと
やりたくないことに時間を使わず、やりたいことに時間を使う

手順1

  1. 大切にしたい価値観
  2. 世の中で解決したい不

これらを明確にしなければならない

手順2

上記を踏まえて

  1. 自分のやりたいこと
  2. 今の自分にできること
  3. やりたいことを実現するためにやるべきこと

をまず書き出してみる

■まとめ

目標を実現するためにやるべきことと実施方法を整理する

  1. Will Can Mustを書き出す
  2. 実現するためにやらないといけないことを書き出す
  3. 目標のアウトラインが決まったら、具体的なアクションプランを考える
  4. アクションプランの設定にはマンダラートを使用する
  5. 洗い出したTODOアクションリストを感情振れ幅、実施コストで優先度整理する
  6. 優先度にしたがって実施
  7. その時にはOODAループで実施してゆく

今回はここまで。

ではでは。

<MUP 本日のうさぎクラスLive> 2021-01-21 相手を動かす絶対必要なスキル

■はじめに

このセッションを受講したあとの姿

  • 企画立案と事業遂行ができる
  • 人を集められる
  • イデアを形にして発信できる
  • 周りと視線・目線を合わせて発信できる
  • 営業スキルだけで独立できる
  • 日常のコミュニケーションの向上

■結論

  • キーパーソンの分析が重要
  • キーパーソンに論理では無く感動の部分にアプローチ
  • 上記を踏まえたプレゼン資料をまとめ、リハを徹底的にやること!

■プレゼンの目的

サービス説明
↓(×
サービス理解
↓(
契約の締結・決済者承認 ・サービス販売

サービスの説明ではなく聞き手を動かすことがプレゼンの目的

5W1Hで考える

項目 内容
what 何について聞きたいか
why なぜ聞きたいか
How 1対1かセミナー型か
whom 特に重要な聞き手は誰か
when/where いつどこでそれをやるか

特に重要なのは「whom(誰に)」の部分

「whom」のテンプレート

f:id:theboyalex:20210123111225p:plain

■聞き手を動かす方法

論理ではなく感動

感情とは?

  • 視覚的に訴える
    1. 資料内容
    2. 動作・表情
  • 聴覚的に訴える
    1. 会話構成
    2. トークスキル

視覚:資料内容

  • 1スライド1メッセージ
  • アンカーフォロー、ブリッジスライド
  • セミナー用と提出用は分ける
  • タイトルではなくメッセージを記載
  • 図がなければ箇条書き(文章を書かない)
  • 図は色、吹き出し補足

視覚:動作・表情

  • アイコンタクト
     一人当たり1秒から2秒
  • スクリーンは見ない
     PPT開発者モードで次ページを確認し頭に入れておく
  • 動き(身振り手振り)をつける
     人は動いているものを見る習性

聴覚:会話構成

  • 人の集中力のピークは30分
  • ソリューションファースト(知りたいことをなるべく早く)
     CREC(結論・理由・証拠・結論)
     証拠は3つ

聴覚:トークスキル

  • アテンションフレーズ
     例:「ここ一番重要だよ」「これ持って帰って」
     面白いこと言うぞと言う前置き言葉を入れる
     前置きで10秒、CRECで15秒を目安
  • ヒゲ言葉をなくせ
     例:「あのー」「えっとー」「はい」×
     これはリハして消していくしかない
  • 意見を主張しない、質問の中に紛れ込ませる
     インタラクティブプレゼンテーション
     (ソクラテス ストラテジー
     例:
     コストが品質よりも優先する顧客に
     「では品質は犠牲にする?」と問いかけて
     「品質も重要」と回答誘導する

■まとめ

プレゼンの目的は人を動かすこと
そのためには

  1. 5W1Hを考える、その時whom(キーパーソン)が重要
  2. テンプレートに基づいてキーパーソンを分析する
  3. 論理ではなく感動(視覚・聴覚)をベースに考えること
  4. 視覚では特に①資料の内容②動作(身振り手振り)が重要
  5. 聴覚では特に①知りたいことを先に②前置き言葉を使い、③主張せず誘導しながら、④30分をめどに、⑤見苦しい言葉を使わず話す
  6. これらを行うためにはリハが最も大切になる

これは個人的にはプレゼンを考えるための凄く良いチェックシートになると感じました。

あとリハ頑張ろう、と思った。
1回2回通すじゃ無く、本当に内容をスラスラ言えるようになる癖をつけよう。

本日はここまで。

ではでは。

<MUP 本日のうさぎクラスLive> 2021-01-14 価値提供フレームワーク(実践型)

■はじめに

このセッションを受講したあとの姿

  • お店に来ない理由が明確になる
  • カニバリを避けられる
  • 施策出しが変わる
  • 施策の実行で無駄がなくなる
  • 高いコンサル提供が可能になる

■結論

  1. Market Proposition
     どこのマーケットに価値を当てるか
  2. Customer Value Proposition
     顧客のどの「不」に対して価値を提供するか
  3. Business Scheme
     どんなスキームで提供するか

これの順番を正しく理解する

■Market Switchの実践方法

まず以下を書き出してみる

競合 自社
Time(時間)                  
Type(種類)                  
Price(値段)                  
Place(場所)                  
People(人)                  
Size(量)                  

次にポジショニングマップに競合を書き出して、ブルーオーシャンがないか確認する

ここにマーケットスイッチを行う!

■顧客は何を求めているか?

f:id:theboyalex:20210117100758p:plain

思考の順序

  1. 顧客ニーズを考える
  2. 提供価値を考える

相手のニーズが先にあり、後から提供価値を合わせること

顧客ニーズと提供価値にズレがないかを確認すること
ずれるとビジネスにならない

■実践

題:BARをオープンしてみよう


この内容はボク自身が実際に考えてみた内容なので セッションで出された模範解答とは異なります。あしからず。

Market Swich

競合 自社
Time(時間) 夕方〜深夜 昼夜問わず
Type(種類) ショットバー ワイン・日本酒
Price(値段) 1杯800〜2,000円 1杯1000〜3000円
Place(場所) 繁華街、駅近 住宅街・ベッドタウンの生活導線
People(人) カップル、少数の友人 お一人様・夫婦・父子
Size(量) 数杯、おつまみ 2〜3杯、簡単な料理


Customer Profile

項目 内容
顧客の仕事 世の中の閉塞感による息抜きがしたい
家では味わえないことを楽しみたい
顧客の喜び 家からフラっと行ける距離
家とは異なる雰囲気
とにかく居心地がいい
夫婦・父子でちょっとした贅沢
顧客の悩み 人混みは避けたい
電車乗りたくない


Customer Value Proposition

提供価値 顧客ニーズ
顧客の仕事 価値・サービス
世の中の閉塞感による息抜きがしたい
家では味わえないことを楽しみたい
見慣れない銘柄のワインや日本酒
家とは異なるリラックス空間
夫婦・家族の記念日に特別なお酒のプレゼント
顧客の喜び 顧客の利益
家からフラっと行ける距離
家とは異なる心の開放感
とにかく居心地がいい
夫婦・父子でちょっとした贅沢
生活導線にあって行きやすい
非日常的な気分転換
夫婦・父子との大人な時間
顧客の悩み 悩みの緩和
人混みは避けたい
電車乗りたくない
人混みを回避できる安心感
手近にある気持ち良い体験

■Business Scheme

顧客ニーズと価値提供が決まったら、ビジネスモデルを図式化する

  • 誰が
  • どこに
  • 何を
  • どれに

現在のサービスモデルを書き出す

  • 誰が
  • どのようなフローで
  • 何を
  • いつ

■まとめ

手順は以下

  1. TTPPPSを書き出す
  2. Customer Profile(顧客ニーズ)を書き出す
  3. 顧客ニーズに合うValue Proposition(提供価値)を設定する
  4. 上記を提供するには何が必要か、価格はどれぐらいか、のPLを作成する
  5. 上記をビジネスモデルにする
  6. 上記のサービスモデルを書き出す

なかなか実際に作成すると色々考えないとわからないポイント多いですね。この辺は経験とか場数なのかな。

今回はここまで。

ではでは。

<MUP 本日のうさぎクラスLive> 2021-01-07 実践型講義(OJT型講義)

■はじめに

(今更だけど目次機能があるので、今までの「結論」のセクションは目次で代用します。)

このセッションを受講したあとの姿

  • より高くするスキルがつく
  • オンラインで申込獲得
  • リピートの獲得
  • コンサルタント業務

これを実践してやってみよう!

■結論

何かを売るには「価値(=提案=「不」の改善)」を作ろう
そのためには手順がある

  1. 世の中の「不」を洗い出す
  2. 「不」を感じる物語を作り共感を得る
  3. 「不」を改善するイメージを相手に想像させる
  4. 「不」を改善する機能があることを説明する

このセールスライティングがあるから売れるようになる!

■価値は作業ではなく提案

例:生命保険
ライフネット生命 vs 保険の窓口

高価格・提案バイアスがあるにも関わらず売れているのは
「保険の窓口」

人と違うものを売るのではなく今持っているものの提案を変える

■どう提案するか

高額なもの=物理的な痛みと同じ

価格差の原因がわからないと絶対に買われない

現状と理想の間に「改善」を提案する

我々が買うものの中身は実は「改善」(モノを買ってない)
高くてもいいから欲しいと感じるからその商品を買う
これが提案であり価値

改善を伝え購入されるまでに必要な4つのモノ

唐突に機能説明をしてはならない

  1. 共感 :共感がないと振り向いてくればない
  2. 物語 :物語がないと記憶してくれない
  3. 想像 :利用のイメージがないと使おうと思ってくれない
  4. 独自 :独自性がないと使い続けてくれない

AppleもGoogleAdsも機能説明は一切していない

相手の「不」を代弁してあげる

Step 1

そのためにはまず 「不」を全て書き出せ!

Step2

「不」を自分の立場に置き換えてストーリーにしろ!

その時は、ストーリーを見せるフローを考えること
(待たなきゃいけないタイミングにさりげなく)

Step3

「不」の改善イメージを与えろ!

その時絶対気を付けること
「人」利用イメージのクリエーション(楽しそうだな、とか改善イメージ)をすること

Step4

機能説明で独自性を打ち出せ!(USP)

USP

  • 顧客ニーズ
  • 自社の強み
  • 競合の強み

競合が持ってなくて、自社が強いモノで、顧客ニーズに合うモノ

■実践

例:50万円のパソコンを売ってみる

①「不」の列挙
遅い、画面荒い、よくフリーズする、ダサい

②「不」の物語化

ポイント
読まれる文章は「体験談が入っている」

実はボクも〜
最近友達が〜

③「不」が改善された理想を想像させる
早く帰れるようになる
かっこいいからカフェで目立つよ

④「不」がどのように改善させるか機能の説明をする


今回はここまで。

ではでは。

<MUP 本日のうさぎクラスLive> 2020-12-28 今すぐ利益構造からキャッシュを作る

■はじめに

昨年最後のライブのまとめになります。

今年の抱負:
なるべく内容は、ライブのエッセンスのみを整理できるように!

■結論

  • LTV-CACで長期収益と管理を行うこと
  • コスト分解してコストカットコストアップで差別化戦略を行うこと
  • 少ない資本で異業種間やコミュニティを使ってビジネスを考えること
  • 売る、買う、繋げる、でビジネスを考えること
  • 購入時のベンチマークを把握して、高単価施策に繋げること

アジェンダ

今週のアジェンダは以下の通りです。

①利益って何?
②コスト構造からの戦略立て
③規模戦略を取れているか?
④売る・買う・繋げる
⑤比較基準は何か?

■利益って何?

売り上げ ー コスト
正しくない。一度の販売だけで見ると見誤る

売り上げは生涯売り上げで見ること

LTV=一購買当たりの生涯売り上げ
CAC=一購買当たりのコスト(顧客獲得コスト)

つまり一度ではなく「何回も」購買されれば(RT率)、一度の売り上げがコストを下回っていても黒字になる

短期ではなく長期の収入構造と管理を行うべき


この辺は昔ユニットエコノミクスは3倍以上にすべき、とか実は回収期間も重要だったりとか、いろんな書籍やサイトで読みかじった事を思い出した。

ここのサイトをよく参考にしました。

tumada.medium.com

LEAN ANALYTICSも読んだなぁ。。でもあんまり覚えてない。
もう一度読むかな。

■コスト構造からの戦略立て

同じ商品、同じ値段の商品を競合と取り扱う場合、どうやって差別化を行うか?

解:
コスト分解

場所代 組立代 人件費 運送費 etc..

この中でどこのコストを圧縮できるか?を検討して売り方を変える

例:ニトリ

DIY
組立代を圧縮して、売り方を工夫している

例:原価率50%のハンバーガ

キャッシュレス、イートインを無くしてテイクアウト専門
人件費、家賃を圧縮して、その分を原価(高価な材料)に回した

つまりコスト分解をして下げられるコストを下げて、逆に差別化(強み、USP)にコストを突っ込む

■規模戦略を取れているか?

規模が大きいと競合が少なく、小さいと競合が多い
でもみんなは普通資本なんてないから競合が多くなることは必然

→異業種間で集まって価値を高める

カフェ 美容院 不動産 リフォーム レストラン etc...

例:複数フリーランスの事務処理を集めてビジネス展開

  • HP作成
  • 税務
  • 法務
  • CS
  • 社保管理
  • 仕事依頼

→これらをまとめてビジネスにする

注意点
一人でできている事を、人を雇って無理やり拡大しない事!
→市場規模では無くて利益規模を見る

資本は小さく始めるが、コミュニティを活用しながら「集める」という視点でビジネス展開する
そして無闇に拡大しない

■売る・買う・繋げる

ビジネスには3つしかない

  • 売るビジネス
  • 買うビジネス(難易度低い)
  • 繋げるビジネス(難易度低い)

買う方が売るより楽

例:ブックオフガリバー

マーケット価格よりも安く買ってマーケット価格で売る

■比較基準は何か?

人が何か購買するときには必ずベンチマークがある

意識的ベンチマーク
飲食なら「家で作れるかどうか」

無意識的ベンチマーク
寿司 > ラーメン

でも仕込みは圧倒的にラーメンの方がかかる
つまりパッと感じる高級感

解:
一般的/家庭的(リピーター施策)× 高級イメージ(高単価施策)
 

ネームブランドインプレッション等を考えることが大切になる


今回はここまで。

ではでは。

<MUP 本日のうさぎクラスLive> 2020-12-10 リテンションモデルの構築

■はじめに

今まで「今日の結論」って書いてたけど、よくよく見たらただのアジェンダだったのでw アジェンダに変えました。

っていうのとちゃんと要点をまとめた「結論」を書くことにします。

■結論

新規顧客ではなく既存顧客のリテンションを目指すこと。
そのためには特にメンタルロイヤリティ(感情指標)が重要になる。
メンタルロイヤリティを構築するためにはサブスク戦略がマスト。

アジェンダ

今週のアジェンダは以下の通りです。

①リテンションが何故必要?
②感情指標をどのように構築するか?
サブスクリプションの導入方法

■リテンションが何故必要?

新規顧客は既存顧客の5倍コストがかかる(1:5の法則)

値下げが起こったら終わる

今の世の中=購買力よりも生産力の方が多い
なので競合過多(ハイパーコンペティション)な状態

値下げ
これをやったら終わる=チキンレース

例:頭が痛い

ただ処方箋が欲しい=どのクリニックでも良い(例:安い方に流れる)
相談がしたい=クリニックを選ぶ
定期検診したい=クリニックを選ぶ

つまり「選ぶ」という場合はリテンションが発生する
リテンションを発生させるにはロイヤリティが必要

このロイヤリティには3種類ある
この3種類のバランスが重要。

3つのロイヤリティ

  1. メンタルロイヤリティ(感情) = 好き、お気に入り
  2. アクションロイヤリティ(行動)= 来店回数、サイト滞在時間、イベント参加回数
  3. リベニューロイヤリティ(収益)= 顧客単価、顧客利益、ARR、MRR

メンタルロイヤリティがないとアクションロイヤリティに繋がらない
アクションロイヤリティがないとリベニューロイヤリティに繋がらない
それぞれに指標があり、最終的に収益につながる

つまりこのロイヤリティの一つでも抜けてしまうとリテンションに繋がらなくなってしまう


【注釈】
ロイヤリティ、という分類では上記のような切り方はされていなかった(一般的ではない?)。ただしブランドに対する「愛」という意味合いで顧客ロイヤリティという定義は存在している。

ja.wikipedia.org

一応ググって見た感想だと、確かに心理的なロイヤリティについて言及しているマーケターはいる。

mag.sendenkaigi.com

tayori.com

RFM分析は感情指標が抜けている

【参考ページ】
www.albert2005.co.jp

Recency:直近の購買
Frequency:購買頻度
Monetary:購買金額

これらはよく使われる行動指標と収益指標だけど感情指標がない!

■感情指標をどのように構築するか?

行動指標・収益指標 = 定量的なのでデータ分析できる
感情指標 = 定性的なもの(好き、心地よい)はデータ分析できない

じゃあどうやってこの指標を測るのか?
サブスク登録(好きだから登録する)

サブスクがないと分析できない = サブスクがマストな時代

売り上げの種類

  • 新規顧客   = 悪い売り上げ(たまたま)
  • リピート顧客 = 不明な売り上げ(これ、良さそうだけど実は一時的なもので、他に良いものがあれば流れてしまう)
  • 会員顧客   = 良い売り上げ(好きだから選んでくれている)

コンサルであればこの売り上げを分析して比率を確認しておかないと絶対にいけない箇所で、増やしていかないといけないのは良い売り上げ

サブスクリプションの導入方法

その1:利用頻度が多いものほど導入が楽

コーヒー:簡単
車の修理:難しい

その2:導入の仕方

  • フリーミアムモデルの設定(体験から始める)
  • 10円の獲得(継続顧客)
  • アップグレードプランの用意(招待制)
フリーミアムモデル

小口の体験から始めないと購入に繋がらない
世の中の大半は最初からお金を取ろうとしすぎ

フリーミアムモデルでは以下の切り口で検討すること

  • 時間(一定の期間)
  • 顧客タイプ(学生なら)
  • 人数(アカウント数限定)
  • 機能(機能の限定とその解除)
10円の獲得(継続顧客)

認知のないサービスにいきなり高額は払わない
低価格に設定し、顧客情報を取得すること

これがないとロイヤルカスタマー戦略が立てられない!

  • 顧客情報が取得できるので戦略を組みやすい(一番の価値!
  • 課金によって購入リマインドが発生する(継続認知)
  • 他商品への購買誘導ができる
  • 条件付きでサービスを設定できる(必ず何か1品購入してね、的な)
アップグレードプラン

最低価格でサブスク登録してもらったら、上位グレードを用意して、自然と上位プランに誘導できるような仕組みを作る


今回はここまで。

ではでは。

Ansibleコンテナの復旧で結構手間取ってしまった

■はじめに

半年ぐらい前に諸般の理由でAnsibleコンテナを作ったのですが、今年の9月ぐらいからplaybookがこけるようになってました。

theboyalex.hatenablog.com

■というわけで色々アップデート

Python2系がサポート終了したのが関係してる?

2020年1月に2系のサポートが終了してたのですが、一応動いていたので放置していました。

でもなんか怪しいwarning出てるし直すか。。

[DEPRECATION WARNING]: Distribution Ubuntu 18.04 on host test.com should use /usr/bin/python3, but is using 
/usr/bin/python for backward compatibility with prior Ansible releases. A future Ansible release will default to using the discovered platform python for this host. See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information. This feature will be removed in version 2.12. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.

まずDockerfileを修正。
python3に諸々変更します。

FROM alpine:3.12.1

RUN set -x \
  && apk add --no-cache \
    sudo \
    bash \
    wget \
    python3 \
    py3-pip \
    openssh-client

RUN apk add --no-cache ansible

ついでにalpineのバージョンも上げておきます。

なんかplaybookでもpython関連で怒れらる

こんなこと言われるようになる。

TASK [推奨インストール] ****************************************************************
[WARNING]: Updating cache and auto-installing missing dependency: python-apt
changed: [test.com]

(中略)

TASK [dockerのインストール Ansible用] **************************************************

(中略)

stderr: pyrsistent requires Python '>=3.5' but the running Python is 2.7.17\n"

何故かpipがpython3じゃないよって言われる。
あと不思議なメッセージとしてpython-aptが読み込めないよって言われてる。どういうこと??

    - name: 推奨インストール 
      apt:
        name:
          - python-apt
          - linux-generic-hwe-18.04
        install_recommends: yes

(中略)

    - name: 基本インストール 
      apt:
        name:
          - apt-transport-https
          - ca-certificates
          - curl
          - gnupg-agent
          - software-properties-common
          - python3-pip
        force: yes

恐らく2系のpipを使用している模様なので明示的にpip3を使うように基本インストールに加筆します。

あとpython-aptが読み込めない件は恐らく2系に紐づいてることが原因と仮定、正しいか分からないけどこちらも明示的にpython-aptを書いておきます。

interpreterの修正

再度実行すると別のエラー発生。
interpreterの指定が間違ってるよって言われる。

TASK [dockerのインストール Ansible用] **************************************************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ImportError: No module named pkg_resources
fatal: [myselenoidvm3.eastus.cloudapp.azure.com]: FAILED! => {"changed": false, "msg": "Failed to import the required Python library (setuptools) on SelenoidVM's Python /usr/bin/python. Please read module documentation and install in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter"}

何じゃこれ?と思って調べたところ、そもそもpythoninterpreterを3系に明確に指定してやらねばならないとのこと。

こちらのページを参考にしました。感謝。

qiita.com

いくつかやり方があったけど、うちもansible.cfg用意してるので、こちらのdefaults句に書き込む方法で対応。

[defaults]
interpreter_python=/usr/bin/python3

docker-ce、docker-cliのバージョン変更

これでいくだろ!と思ったらまだエラーが出る。

TASK [docker再インストール] ***********************************************************
fatal: [test.com]: FAILED! => {"cache_update_time": 1607503728, "cache_updated": false, "changed": false, "msg": "'/usr/bin/apt-get -y -o \"Dpkg::Options::=--force-confdef\" -o \"Dpkg::Options::=--force-confold\"      install 'docker-ce-cli=5:19.03.12~3-0~ubuntu-bionic'' failed: E: Packages were downgraded and -y was used without --allow-downgrades.\n", "rc": 100, "stderr": "E: Packages were downgraded and -y was used without --allow-downgrades.\n", "stderr_lines": ["E: Packages were downgraded and -y was used without --allow-downgrades."], "stdout": "Reading package lists...\nBuilding dependency tree...\nReading state information...\nThe following package was automatically installed and is no longer required:\n  linux-headers-4.15.0-124\nUse 'sudo apt autoremove' to remove it.\nThe following packages will be DOWNGRADED:\n  docker-ce-cli\n0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 1 not upgraded.\n", "stdout_lines": ["Reading package lists...", "Building dependency tree...", "Reading state information...", "The following package was automatically installed and is no longer required:", "  linux-headers-4.15.0-124", "Use 'sudo apt autoremove' to remove it.", "The following packages will be DOWNGRADED:", "  docker-ce-cli", "0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 1 not upgraded."]}

ダウングレードしたつもりはないのだけど、まぁ要するにバージョン古いってことで、最新のバージョンに変更。

docker公式にはコマンド叩いてバージョン調べる方法が書いてあったり、latestの指定方法なんかも記述してありますが、今回はコマンドではなく下記ページを参考にしてます。

https://ubuntu.pkgs.org/18.04/docker-ce-stable-amd64/

    - name: docker再インストール
      apt:
        name:
          - docker-ce=5:20.10.0~3-0~ubuntu-bionic
          - docker-ce-cli=5:20.10.0~3-0~ubuntu-bionic
          - containerd.io

実行します。

ansible % docker container run -itd --name ansible test/ansible:0.1                       
e13d6585f8e0b686d2fea62e4191977c68aa0d8fc55d54cca3adcfebb747fa54
ansible % docker container logs -f ansible   

(中略)

PLAY RECAP *********************************************************************
test.com : ok=17   changed=5    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

おし、成功ですね!

いやー作成当初の記憶がすっかり薄れてて、何でここってこう書いてたんだっけ?って思い出しながら修正したので意外と手間取ってしまった。。


本日はここまで。

ではでは。