5月7日の当ブログで紹介した、IBM Domino の Dockerサポートについて、Dockerイメージの作成を検証した手順を掲載します。ご自身でも検証されたい方は、この手順を参考にしてください。
検証環境
これは、Windows10にDocker環境を構築して検証する手順です。手元の環境で実際に試す場合には、始めに末尾の「Windows10のDocker環境について」も参照してください。
また、LinuxのDocker Imageは、無償のCentOSを使用しました。(IBM Dominoのサポート対象外です。)
(注)以下では、コマンドの表記に、下記を使用します。
Windowsのコマンドプロンプト: C:\>
Linuxのrootユーザーのプロンプト: #
Linuxのnotesユーザーのプロンプト: $
事前準備
1.Docker for windowsのインストール
(1)Docker Incのサイトから、Community Edition (CE)をダウンロードし、インストーラーを起動する。
(2)「Use Windows containers ......」のチェックボックスには、チェックを入れない。
(3)インストールが完了し、Dockerが起動すると、下記の画面が表示される。(この検証ではログインは不要)
(4)コマンドプロンプトを管理者権限で実行する。(Windowsキーを押下後cmdとタイプして出現する「コマンドプロンプト」リンクで右クリック、「管理者として実行」を選択)
(5)下記コマンドを実行し、バージョン情報が表示されれば、動作確認完了。
C:\>docker version
2.CentoOSのDocker ImageをDocker Storeからダウンロード
C:\>docker pull centos
3.IBM Domino のLinux版のインストーラー、及びFeature Pack10の用意
Docker Image 作成手順
1.更新データの永続化のため、ホスト側でdomino dataフォルダを作成する。
C:\>mkdir C:\IBM\Domino\Data
2.Domino インストーラーやFP等を、CentOSコンテナ内からアクセスできる場所に配置する。
(1)ホスト側の C:\IBM\Domino\Data\temp に、事前準備の3に示したファイルをコピーする
後継の手順で、C:\IBM\Domino\Dataをコンテナにマウントするので、/local/notesdata/temp にてアクセスが可能となる。
3.ダウンロードしたCentOSコンテナーを起動する。
C:\>docker run --name domino_c -v c:/IBM/Domino/Data:/local/notesdata -p 8585:8585 -p 80:80 -p 1352:1352 -it centos /bin/bash
--name オプション:起動するコンテナに名前をつける(例 domino_c)
-p オプション:コンテナに外部からアクセスするためのポートフォワーディングを指定する
正常に起動するとbashのプロンプトが表示される。
下記のウィンドウが表示された場合(初めてホスト側のフォルダにアクセスする時など)は、Windowsのユーザー名・パスワードを入力する。
4.CentOSの最新化、及び必要なパッケージのインストール
#yum update -y
#yum install -y which
#yum install -y perl
#yum install -y wget (ネットワーク経由でDomino等ファイルをダウンロードする必要がない場合は不要)
5.Dominoサーバーのインストールと実行用の、Linuxユーザー「notes」を作成
#useradd -ms /bin/bash notes
#usermod -aG notes notes
6.Linux版Domino起動時に起きるワーニングを解消するためにlimits.confファイルに2行追加
#echo ‘notes soft nofile 60000’ >> /etc/security/limits.conf
#echo ‘notes hard nofile 80000’ >> /etc/security/limits.conf
※64bit版のLinuxで、デフォルトのファイルディスクリプタ数が、上記よりも大きい場合は設定不要
7.Domino インストーラーの実行
(1)Domino インストーラーを解凍する
#cd /home/notes
#tar xvf /local/notesdata/temp/DOMINO_9.0.1_64_BIT_LIN_XS_EN.tar
(2)Domino インストーラーを実行する
#cd linux64/domino
#./install
コンソールモードのインストールを選択後、画面の指示に従い、インストールを進める
インストールが正常完了すると、下記の表示となるので、3を選択して、終了する
9.Dominoのセットアップを行う
(1)Dominoサーバーの起動
#su notes
$cd /local/notesdata
$/opt/ibm/domino/bin/server -listen
(2)Remote Server Setupを実行する
Windowsキーを押下後、[IBM Applications] > [Remote Server Setup] をクリックする。
(3)Dominoサーバーとの疎通を確認する
リモートホストアドレスに、ホストのIPアドレスを入力し、「Ping」ボタンをクリックする。
(4)疎通の正常確認後、「OK」ボタンをクリックすると、Dominoサーバーのセットアップが開始される。(セットアップの手順は割愛します)
(セットアップが完了すると、Dominoサーバーも終了する)
10.Dominoを起動し、動作確認を行う
#/opt/ibm/domino/bin/server start
ホストのブラウザを起動し、localhost(ホストのIPアドレス)にアクセスする。
動作確認後、Dominoサーバーを終了させる
11.現状のコンテナをコミットし、Dockerイメージを作成する
(1)ユーザーnotesをログアウトしrootに戻り、さらにログアウトして、CentOSのコンテナを停止する。
$exit
#exit
(Windowsのコマンドプロンプトに戻る)
(2)停止中のコンテナを確認し、コミットを行う。
C:\>docker ps -a
C:\>docker container commit domino_c domino:9.0.1
3番目のdomino_cは、起動時に指定したコンテナの名前
4番目のdomino:9.0.1FP10は、新しく作成する[イメージ名]:[ラベル名]
C:\>docker rm domino_c
12.Feature Packを適用するためのコンテナを起動する
C:\>docker run --name domino_c -v c:/IBM/Domino/Data:/local/notesdata -p 80:80 -p 1352:1352 -it domino:9.0.1 /bin/bash
13.Feature Pack10の適用
(1)Feature Pack10を解凍する
#cd /home/notes
#tar xvf /local/notesdata/temp/domino901FP10_linux64_x86.tar
(2)Feature Pack10のインストーラーを実行する
#cd linux64/domino
#./install
(この後のDominoサーバーの起動、及び動作確認の手順は割愛します)
14.現状のコンテナをコミットし、FP10のDockerイメージを作成する
(1)ユーザーnotesをログアウトしrootに戻り、さらにログアウトして、CentOSのコンテナを停止する。
$exit
#exit
(Windowsのコマンドプロンプトに戻る)
(2)停止中のコンテナを確認し、コミットを行う。
C:\>docker ps -a
C:\>docker container commit domino_c domino:9.0.1FP10
c:\>docker images
以上の手順により、「domino:9.0.1」「domino:9.0.1FP10」という二つのDockerイメージが作成されました。
停止しているコンテナを開始する場合は、以下のコマンドを実行します。
C:\>docker start domino_c
C:\>docker attach domino_c
(attach後、Linuxのbashに戻ります)
Dockerコマンド補足
作成したDockerイメージを配布する場合は、以下のコマンドを使用します。
渡す側:Dockerイメージのファイル出力
C:\>docker save domino:9.0.1FP10 > domino.tar
受け取る側:ファイルをDockerイメージとして取り込む
C:\>docker load < domino.tar
Windows10のDocker環境について
仮想環境を使用せずに、Windows10にDockerをインストールする場合は、Hyper-Vを有効にする必要があります。Windows10 Homeエディションでは、Hyper-Vが使用できないので、(Hyper-Vを有効にできる)仮想環境を用意しないとDockerを使用することはできません。
仮想環境でDockerを使用したい場合、Hyper-Vを有効にできる環境であれば、Hyper-Vでゲスト環境を構築するのが最も容易です。しかし、Hyper-Vを有効にすると、既にVMWareやORACLE VirtualBoxなどの仮想環境を利用している場合は、(有効にしている間は)これらが起動できなくなりますので注意してください。
以上をまとめると下表のようになります。
|
Hyper-V |
VMware Workstation Player |
Oracle VirtualBox |
Windows 10 Home |
× |
◯※2 |
未検証 |
Windows Pro/Enterprise |
◯※1 |
◯※3 |
未検証 |
※1 Hyper-V 仮想マシン (ゲスト) 内での Hyper-V の実行を可能にするためには、ホストとゲストの両方が Windows 10 Anniversary Update 以降である必要があります。
※2 仮想マシン設定で、「Intel VT-x/EPTまたはAMD-V/RVIを仮想化」を有効にする必要があります。
※3 ホストのHyper-Vを無効にする必要があります。