‫これは､ Swarmスタックに入れるsecrets composeファイルの割り当てを説明しているところです｡
‫このファイルは､ 前回の課題でDrupalを扱ったときに残ったものです｡
‫それは､ compose assignment 2のディレクトリの下にあった｡
‫今､ 一番上にあるのは､ 以前にも取り上げましたが､ スライドの中では触れていませんでしたが､ このバージョンは3でなければならないということです｡
‫1.
‫なぜなら､ スタックやスウォームは､ 最低でも3つ以上の秘密がない限り､ ファイル内の秘密を受け入れないからです｡ 1コンポジット形式｡
‫しかし､ 最悪のケースは､ 2のままにしておいて忘れた場合､ スタックをデプロイしようとすると､ 「Sorry, cannot use
‫compose version 2 file」と表示されることです｡ だから､ 変更する必要があることは一目瞭然なんだ｡
‫わかりました｡ 次に､ このイメージを変えなければいけないということでした｡ swarmはビルドしないので､ スタック上にカスタムイメージをビルドするつもりはありません｡
‫少なくとも現在のバージョンではありません｡
‫私たちは... その は､ 公式のDrupal, 8に戻ります｡ 2､ 生産現場では､ 常にバージョンを固定する必要があるからです｡
‫このビルドをここで解消するんだ｡ 技術的には､ スタックの中で､ ここにビルドコマンドを残すことができますが､
‫それは無視されるだけです｡
‫実は､ 私たちに『おいおい』と言うだけです｡ このビルドは必要ない｡
‫ビルドは使いません｡ 画像をプルダウンしていくだけです｡
‫ありがとうございます｡ ' そのままでも良いのですが､
‫この例では､ アレに気を取られずに､ その行だけ削除することにします｡
‫実際のパスワードはもう使用しないので､
‫これを変更する必要があります｡ ファイルを使用することになりました｡
‫では､ このポスゲはどうかというと､ 前回の講義で､ 公式画像にシークレットをサポートするファイルのオプションが付いたという話をしたのと同じです｡
‫あとは､ 実際の秘密そのものではなく､ ファイルの場所を教えてあげればいいんです｡
‫そこで､ secretsを実行し､ これをpsql pwと呼ぶことにします｡
‫そして､ 実際にシークレットを指定する必要があるのです｡
‫そこで､ この下にあるsecretsの下に､ psql pwと呼びたいと思います｡ そうすると､ externalになります｡ つまり､ コマンドラインから自分たちで作っていて､
‫スタックの責任で作っているわけではないということです｡
‫これは実際には単なるブーリアン値である｡
‫だから､ それを真と指定する｡
‫あ､ それから､ 忘れるところでした｡ ここで､ 秘密を追加しなければならないんだ｡
‫挙げなければならない｡
‫わかりました｡
‫私にはそれがよく見える｡
‫これをswarmのnode1上のサーバにコピーして､ スタックを動かしてみます｡
‫OKです｡
‫ローカルマシンからcomposeファイルをコピーしたので､ これでdocker
‫stackのデプロイができるはずです｡ -c docker composeで､ drupalと呼ぶことにします｡
‫そして､ 最初に秘密を作ることを忘れると､ こうなるのです｡
‫では､ 説明書に書いてあったように､ シークレットを作り､ ここに適当に文字を入れればいいんですね｡
‫docker secret create psql pw, pass in the value.
‫OKです｡
‫これで､ スタックをデプロイできるようになるはずです｡ これでよしとしよう｡
‫そこで､ docker stack ps drupal｡
‫ポストグレスとドゥルーパルがあるんです｡
‫だから､ ブラウザーを立ち上げて､ node1 8080にアクセスすればいいんです｡
‫Drupalのインストールができる｡
‫そのパスワードがうまくいったかどうか､ 実際にテストしてみましょう｡
‫これは実際には必要ないのですが､ とりあえずテストしてみたいと思います｡
‫ポストグレス... ポストグレス... ポストグレス...
‫データベースパスワード...
‫ポストグレス... さようなら うまくいった!
‫わかりました｡
‫そして､ 終了です｡