Upgrade to Pro — share decks privately, control downloads, hide ads and more …

オレの Docker 元年

オレの Docker 元年

HCL Domino にも Docker で使用できるイメージが提供されるようになりました。この資料では私が初めて Docker を利用した経緯や苦労話などを綴ってます。

2020年12月の「テクてくLotus技術者夜会」で使用した資料です。

Haruyuki Nakano

September 01, 2022
Tweet

More Decks by Haruyuki Nakano

Other Decks in Technology

Transcript

  1. インフラ インフラ ハイパーバイザ OS カーネル コンテナエンジン アプリ アプリ アプリ アプリ

    ゲストOS 仮想マシン アプリ ゲストOS 仮想マシン アプリ ゲストOS 仮想マシン コンテナ コンテナ コンテナ コンテナ型 (Docker, Linux コンテナ等) ハイパーバイザ型 (Hyper-V, vSphere, OpenStack等) アプリの起動が高速 OSのカスタマイズ性
  2. 【参考】Domino の Docker イメージを 使わずに Docker 対応を検証した記事 Domino V10の Docker

    イメージの作成とコンテナの運用性について|XPagesJP IBM Domino の Docker 検証手順|XPagesJP IBM Domino の Docker サポートについて|XPagesJP
  3. 【参考】Domino の Docker イメージの有無 でコンテナ作成の手間はこれだけ違います イメージなし + OS の Docker

    イメージのダウンロード + イメージの Docker へのロード + Volume の作成 + OS コンテナの起動 + OS の最新化や各種設定 + Domino インストーラのダウンロード + Domino インストーラのコンテナへのコピー + Domino インストーラ解凍 + Domino インストール + Domino リモートセットアップ + Domino 起動/稼働確認/終了 + コンテナをコミットし Docker イメージを作成 + OS コンテナの停止 イメージあり + Domino Docker イメージのダウンロード + イメージの Docker へのロード + Volume の作成 + Domino 一時コンテナの起動 + Domino リモートセットアップ + 一時コンテナの停止
  4. 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)
  5. 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)
  6. 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)
  7. 「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つのコードドロップから次のコードドロップへのアップグレードにかかる時間を最小限に抑えることが できます。プログラム参加者の皆様には、最新の製品機能セットへの独占的なアクセスを提供したいと考えておりま すので、速いペースでのコードドロップの提供を期待しています。最新のコードドロップのみダウンロード可能とな りますので、ご注意ください。
  8. 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. 脳内ひとり言
  9. Windows10に Docker Desktop をインストール Docker Desktop for Mac and Windows

    | Docker https://www.docker.com/products/docker-desktop
  10. Docker Desktop のシステム要件のうち 多少面倒だったこと💦 +Windows10 64ビット ビルド 15063 以上にアップデート +Hyper-V

    と Windowsコンテナ機能の有効化 +WSL2機能の有効化 +Linuxカーネル更新パッケージの適用 ※システム要件は「Windows に Docker Desktop をインストール」で確認できます
  11. 【参考】 VMware Workstation Player も 15.5.5 以降へのバージョンアップで Docker Desktop と共存できました😄

    詳細は「VMware Workstation 15.5.5 Player リリース ノート」の 「Windows10ホストVBSのサポート」を参照してください
  12. 一時的なコンテナで 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を起動
  13. > 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がセットアップ待ちに
  14. Remote Server Setup を起動 Remote Server Setup は Domino Administrator

    インス トール時に選択可能なオプションです
  15. 新たなコンテナの作成と実行 > 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イ メージは、セットアップ時と同じ ものを使用
  16. 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
  17. FixPackも新バージョンも 新たなイメージが提供されています 古いコンテナを削除して 使用するイメージを変えた 新たなコンテナを作成します Docker notesdata Volume Domino 11.0.1

    Image コンテナ Domino11.0.1 FP2 古いコンテナを削除 Volume は そのまま使用 ダウンロードして Docker へロードした 新たなイメージ 新たなコンテナ作成
  18. ローカライズの手間あり +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 ※黄色の字を変更対象のコンテナ名に変えます
  19. 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)
  20. 試用版ドキュメント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アンバサ ダーへ
  21. 試用版取得の手続きを明確にしてほしい +Docker イメージでの Domino の提供は、これから Domino を使用したい ユーザーには最適な方法と思います。 +私の Flexnet

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