Slide 1

Slide 1 text

オレの Docker 元年 禁断の Domino on Docker on Windows10 中野晴幸 Haruyuki Nakano harunakano.blogspot.com (blog)

Slide 2

Slide 2 text

注意事項 +本資料はメーカーのサポート要件から外れた環境での検証結果 を記載している部分があります。そのため、サポート要件に マッチした環境での挙動とは異なる結果となる可能性がありま す。各自で必ず検証を行ってください。 +本資料の内容をもとにして発生したいかなる損害についても筆 者は責任を負いません。 +本資料の内容についてメーカー各社へ問い合わせることは絶対 に行わないでください。

Slide 3

Slide 3 text

Docker (ドッカー) って聞いたことありますか?

Slide 4

Slide 4 text

コンテナを乗せたクジラが目印

Slide 5

Slide 5 text

Docker +Docker(ドッカー)は、コンテナ仮想化を用いてアプリケー ションを開発・配置・実行するためのオープンソースソフト ウェアあるいはオープンプラットフォームである。 +Dockerはコンテナ仮想化を用いたOSレベルの仮想化によりア プリケーションを開発・実行環境から隔離し、アプリケーショ ンの素早い提供を可能にする。かつその環境自体をアプリケー ションと同じようにコード(イメージ)として管理可能にする。 「https://ja.wikipedia.org/wiki/Docker」から引用

Slide 6

Slide 6 text

インフラ インフラ ハイパーバイザ OS カーネル コンテナエンジン アプリ アプリ アプリ アプリ ゲストOS 仮想マシン アプリ ゲストOS 仮想マシン アプリ ゲストOS 仮想マシン コンテナ コンテナ コンテナ コンテナ型 (Docker, Linux コンテナ等) ハイパーバイザ型 (Hyper-V, vSphere, OpenStack等) アプリの起動が高速 OSのカスタマイズ性

Slide 7

Slide 7 text

コンテナ (休止中) Domino コンテナ (稼働中) start stop Docker イメージ Flexnet load Domino PC / Server / Cloud Domino

Slide 8

Slide 8 text

Domino は バージョン 9.0.1 FP10 から Docker をサポートしてます ※Domino 9.0.1 FP10 は 2018年2月1日リリース

Slide 9

Slide 9 text

が、

Slide 10

Slide 10 text

9.0.1 FP10 では Domino の Docker イメージは 提供されなかったのです

Slide 11

Slide 11 text

そして 10.0.1 リリース

Slide 12

Slide 12 text

残念ながら 10.0.1 も Docker イメージは 提供されませんでした

Slide 13

Slide 13 text

【参考】Domino の Docker イメージを 使わずに Docker 対応を検証した記事 Domino V10の Docker イメージの作成とコンテナの運用性について|XPagesJP IBM Domino の Docker 検証手順|XPagesJP IBM Domino の Docker サポートについて|XPagesJP

Slide 14

Slide 14 text

【参考】Domino の Docker イメージの有無 でコンテナ作成の手間はこれだけ違います イメージなし + OS の Docker イメージのダウンロード + イメージの Docker へのロード + Volume の作成 + OS コンテナの起動 + OS の最新化や各種設定 + Domino インストーラのダウンロード + Domino インストーラのコンテナへのコピー + Domino インストーラ解凍 + Domino インストール + Domino リモートセットアップ + Domino 起動/稼働確認/終了 + コンテナをコミットし Docker イメージを作成 + OS コンテナの停止 イメージあり + Domino Docker イメージのダウンロード + イメージの Docker へのロード + Volume の作成 + Domino 一時コンテナの起動 + Domino リモートセットアップ + 一時コンテナの停止

Slide 15

Slide 15 text

そして今年の春 ようやく…

Slide 16

Slide 16 text

Domino 11.0.1 リリース

Slide 17

Slide 17 text

Docker イメージが 提供されました🎉

Slide 18

Slide 18 text

で、

Slide 19

Slide 19 text

Docker を 試してみたいんだけどもー

Slide 20

Slide 20 text

ドッカーら 手を付ければいいの?

Slide 21

Slide 21 text

ありがたいことに 日本語の資料を 用意してくれています

Slide 22

Slide 22 text

HCL Software (JAPAN) BLOG「Domino on Docker 日本語版資料」 から引用

Slide 23

Slide 23 text

全面的に対応を進めた結果 提供されている Docker イメージは…

Slide 24

Slide 24 text

Domino 関連の Docker イメージ ※2020/11/28時点 +HCL Domino 11.0.1 +HCL Domino 11.0.1 FP1 +HCL Domino 11.0.1 FP2 +HCL Domino V12 EAP( Early Access Program ) +HCL Domino Volt 1.0 FP1 +HCL Domino Volt 1.0.1 +HCL Domino 試用版(11.0.1)

Slide 25

Slide 25 text

FixPack も Docker イメージで提供 +HCL Domino 11.0.1 +HCL Domino 11.0.1 FP1 +HCL Domino 11.0.1 FP2 +HCL Domino V12 EAP( Early Access Program ) +HCL Domino Volt 1.0 FP1 +HCL Domino Volt 1.0.1 +HCL Domino 試用版(11.0.1)

Slide 26

Slide 26 text

V12 EAP(Early Access Program)とは +HCL Domino 11.0.1 +HCL Domino 11.0.1 FP1 +HCL Domino 11.0.1 FP2 +HCL Domino V12 EAP( Early Access Program ) +HCL Domino Volt 1.0 FP1 +HCL Domino Volt 1.0.1 +HCL Domino 試用版(11.0.1)

Slide 27

Slide 27 text

HCL SOFTWARE(JAPAN BLOG)「HCL Domino 早期アクセスプログラム (Early Access Program) のご紹介」から引用

Slide 28

Slide 28 text

「Welcome to the documentation for the HCL Domino Early Access Program」より引用

Slide 29

Slide 29 text

「Welcome to the documentation for the HCL Domino Early Access Program」より引用したテキストを www.DeepL.com/Translator(無料版)で翻訳しました。 HCLドミノ早期アクセスプログラムのドキュメントへようこそ HCL Domino®早期アクセスプログラムは、開発サイクルの早い段階で新製品の機能をテストする機会を提供すること を目的とした新しいプログラムです。 このプログラムは、HCL Dominoの将来のバージョンで利用可能になる可能性のある機能や機能をプレビューする機 能を提供し、お客様からの貴重なフィードバックを取り入れる機能を提供します。現段階では、HCL Domino 12のた めに検討されている機能への早期アクセスを提供しています。 早期アクセスプログラムは、機能主導型であり、反復的であることを意味します。 各コードドロップはDockerイメージの形で提供されます。これにより、新しいイテレーションをより早く出荷するこ とができ、1つのコードドロップから次のコードドロップへのアップグレードにかかる時間を最小限に抑えることが できます。プログラム参加者の皆様には、最新の製品機能セットへの独占的なアクセスを提供したいと考えておりま すので、速いペースでのコードドロップの提供を期待しています。最新のコードドロップのみダウンロード可能とな りますので、ご注意ください。

Slide 30

Slide 30 text

V12 EAP では 新機能入りの Domino が 早いペースで Docker イメージで 提供されます

Slide 31

Slide 31 text

新しいモノ好きの私としては V12 EAP でワクワクしたい 脳内ひとり言

Slide 32

Slide 32 text

V12 EAP に参加するには Docker 始めるしかないやん… 脳内ひとり言

Slide 33

Slide 33 text

Docker ホストサーバーの システム要件に Windows が無い…うぅぅ Domino Early Access documentation 「Domino on Docker requirements」より引用 •The system requirements for the Docker host server are:One of the following operating system platforms: • Red Hat Enterprise Linux (RHEL) Server 7.4+ (x86-64) • CentOS Server 7.4+ (x86-64) •Docker Engine 19+ installed and configured. 脳内ひとり言

Slide 34

Slide 34 text

たしか コンテナは可搬性がウリ だけどOSカーネルに 依存するんだよなー 脳内ひとり言

Slide 35

Slide 35 text

もし コンテナのエンジンが Windows カーネルを 使っている場合は Linux ベースの Domino のコンテナは 動かないってことか… 脳内ひとり言

Slide 36

Slide 36 text

Windows 版の Docker Desktop ユーザーが 共有するWebの情報に 「Linuxカーネル更新パッケージの ダウンロードとインストール」 とあるじゃないか 脳内ひとり言

Slide 37

Slide 37 text

つまり Windows 版の Docker Desktop は Linux カーネルが ベースなのかも?! 脳内ひとり言

Slide 38

Slide 38 text

Linux ベースの Domino コンテナは Docker Desktop で動くかも… 脳内ひとり言

Slide 39

Slide 39 text

脳内ひとり言 コンテナ Docker Desktop パソコン(Windows10)の中

Slide 40

Slide 40 text

と、言う訳で (人柱的に)

Slide 41

Slide 41 text

Windows10に Docker Desktop をインストール Docker Desktop for Mac and Windows | Docker https://www.docker.com/products/docker-desktop

Slide 42

Slide 42 text

Docker Desktop のシステム要件のうち 多少面倒だったこと💦 +Windows10 64ビット ビルド 15063 以上にアップデート +Hyper-V と Windowsコンテナ機能の有効化 +WSL2機能の有効化 +Linuxカーネル更新パッケージの適用 ※システム要件は「Windows に Docker Desktop をインストール」で確認できます

Slide 43

Slide 43 text

【参考】Docker Desktop は Windows10 Home でも 動くらしい…(未確認) https://docs.docker.com/docker-for-windows/install-windows-home/ から引用

Slide 44

Slide 44 text

【参考】 VMware Workstation Player も 15.5.5 以降へのバージョンアップで Docker Desktop と共存できました😄 詳細は「VMware Workstation 15.5.5 Player リリース ノート」の 「Windows10ホストVBSのサポート」を参照してください

Slide 45

Slide 45 text

Docker の準備はできた ここからです

Slide 46

Slide 46 text

Domino の Docker イメージの扱い方は 「Domino on Docker 日本語版資料」を 参照してください。 ここでは主にハマりどころを紹介します

Slide 47

Slide 47 text

Domino コンテナができるまで イメージのダウンロード イメージのロード Volume の作成 Domino のセットアップ コンテナの作成・起動

Slide 48

Slide 48 text

一時的なコンテナで Domino を セットアップする > docker run --rm --name dominov1101fp2setup -v notesdata:/local/notesdata --hostname v1101fp2.harunakano.local -p 1352:1352 -p 8585:8585 domino-docker:V1101FP2_10202020prod --setup ※便宜上改行してますが実際は1行のコマンドです Docker run 新しいコンテナを実行する --rm コンテナ終了時にコンテナを自動 で削除する --name コンテナ名 -v Volumeとそれに割り当てるコン テナ内のディレクトリ --hostname ホスト名 -p コンテナの外と内側のポート番号 イメージのレポジトリとタグ --setup listenモードでDominoを起動

Slide 49

Slide 49 text

> docker run --rm --name dominov1101fp2setup -v v1101fp2_notesdata:/local/notesdata --hostname v1101fp2.harunakano.local -p 1352:1352 -p 8585:8585 domino-docker:V1101FP2_10202020prod --setup Preparing for server setup... Done. ./java -ss512k -Xmso5M -cp jhall.jar:cfgdomserver.jar:./ndext/ibmdirectoryservices.jar lotus.domino.setup.WizardManagerDomino -data /local/notesdata -listen Remote server setup enabled on port 8585. The Domino setup server is now in listening mode. A remote client can now connect to this server and configure Domino. To connect to this server, launch the Remote Domino Setup program from a command-prompt as follows: From a Domino administrator client: serversetup -remote From a Domino server: server -remote To end this server, launch the Remote Domino Setup program from a command-prompt as follows: From a Domino administrator client: serversetup -q v1101fp2.harunakano.local From a Domino server: server -q v1101fp2.harunakano.local For more information, see the printed guide Setting Up Domino Networks and Servers. *Warning all runtime debug info will be logged to /local/notesdata/setuplog.txt コマンド実行後、コンテナ内の Dominoがセットアップ待ちに

Slide 50

Slide 50 text

Remote Server Setup を起動 Remote Server Setup は Domino Administrator インス トール時に選択可能なオプションです

Slide 51

Slide 51 text

【参考】 セットアップ中の Domino の「リモートホストアドレス」 へは、ipconfig コマンドで表示されるネットワークアダプ ターのうち「イーサネット アダプター vEthernet (WSL)」 の IP アドレスを指定することでコンテナへ接続できました。 172.30.128.1

Slide 52

Slide 52 text

Domino コンテナができるまで イメージのダウンロード イメージのロード Volume の作成 Domino セットアップ コンテナの作成・起動

Slide 53

Slide 53 text

新たなコンテナの作成と実行 > docker run -it --name Domino1101fp2 -v notesdata:/local/notesdata --hostname v1101fp2.harunakano.local --cap-add=SYS_PTRACE -p 1352:1352 -p 80:80 -p 443:443 domino-docker:V1101FP2_10202020prod ※便宜上改行してますが実際は1行のコマンドです 今度はコンテナ終了時にコンテナ を削除しない Volume と DominoのDockerイ メージは、セットアップ時と同じ ものを使用

Slide 54

Slide 54 text

コンテナは作成できた。 既存のコンテナへの FixPack 適用や Version Up はどうすれば?

Slide 55

Slide 55 text

FixPack の Docker イメージには Domino 本体も含んでます +HCL Domino 11.0.1 +HCL Domino 11.0.1 FP1 +HCL Domino 11.0.1 FP2 +HCL Domino V12 EAP +HCL Domino Volt 1.0 FP1 +HCL Domino Volt 1.0.1 +HCL Domino 試用版(11.0.1) 690 MB 693 MB 724 MB (11月版) 734 MB 823 MB 812 MB 658 MB

Slide 56

Slide 56 text

FixPackも新バージョンも 新たなイメージが提供されています 古いコンテナを削除して 使用するイメージを変えた 新たなコンテナを作成します Docker notesdata Volume Domino 11.0.1 Image コンテナ Domino11.0.1 FP2 古いコンテナを削除 Volume は そのまま使用 ダウンロードして Docker へロードした 新たなイメージ 新たなコンテナ作成

Slide 57

Slide 57 text

Language Pack が適用された Docker イメージは 提供されてないけど どうする?

Slide 58

Slide 58 text

Language Pack 適用済みのイメージを 自前で作成します ※2020年12月4日時点ではLanguagePack適用済みのイメージの提供が無いため Language Pack インストーラのダウンロード (一時的な)コンテナの作成・起動 コンテナへのインストーラのコピー インストーラの展開・実行 新たなイメージの作成(docker commit)

Slide 59

Slide 59 text

ローカライズの手間あり +Docker 上の Domino への言語パックの適用についての公式な 手順はまだない +11.0.1 FP1 適用済みの Domino に適用可能(らしい) +適用手順または適用済みイメージが近々公開される(らしい) +Domino on Docker 日本語版資料の手順では時刻がUTCのまま +ログ等で不便を感じたら、次の2つのコマンドを投入して日本時間に 変更しましょう > docker exec -u root Domino1101fp2 rm -f /etc/localtime > docker exec -u root Domino1101fp2 ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime ※黄色の字を変更対象のコンテナ名に変えます

Slide 60

Slide 60 text

最後に

Slide 61

Slide 61 text

Domino 試用版が存在します +HCL Domino 11.0.1 +HCL Domino 11.0.1 FP1 +HCL Domino 11.0.1 FP2 +HCL Domino V12 EAP( Early Access Program ) +HCL Domino Volt 1.0 FP1 +HCL Domino Volt 1.0.1 +HCL Domino 試用版(11.0.1)

Slide 62

Slide 62 text

「 HCL Domino: V11 へのバージョンアップのベストプラクティス: ウェビナー のリプレイと Q&A 」より引用

Slide 63

Slide 63 text

「製品資料: HCL Domino 試用版ドキュメント」より引用

Slide 64

Slide 64 text

試用版ドキュメント2ページ目の要約 +HCL Domino 11.0.1 の試用版が無料で提供されている +Domino は Docker イメージで提供されている +プリインストールされた以下製品も利用可能 + HCL Domino Volt, HCL Verse, HCL Traveler, HCL Domino AppDev Pack, Proton, domino-db, IAM +Domino の他、Notes, Designer, AppDev Packキットも提供あり +Domino試用版ライセンス取得についての問合せは、HCL プロダク トスペシャリスト、HCLビジネスパートナー、またはHCLアンバサ ダーへ

Slide 65

Slide 65 text

試用版取得の手続きを明確にしてほしい +Docker イメージでの Domino の提供は、これから Domino を使用したい ユーザーには最適な方法と思います。 +私の Flexnet アカウントでは確認できませんでしたが、実際はHCL社員あ るいはパートナー企業に相談すると提供される(場合がある)らしい +AppDev Pack や Domino Volt のリリースで「アプリ開発基盤」の側面を 前面に押し出し、新たな開発者を呼び込もうとしているように見えるのに、 新たな開発者が Domino を試したい思った時に「フル機能」を「すぐに (気が変わらないうちに)」使えない。これでは機会を失いませんか? +Docker イメージを面倒な手続き(=コスト)なしにダウンロードできる ようにするべきではないでしょうか

Slide 66

Slide 66 text

ご清聴ありがとうございました