ネイティブ Docker コンテナの作成と実行

アップグレード手順を以下に示します。 
casp1032jp
ネイティブ Docker コンテナの作成と実行
以下の docker コンテナを作成するには、以下のコマンドを実行します。
  • MLS コンテナを作成する方法 
    docker run -e LANDSCAPE_HANDLE=128 -e IS_MLS=yes -e ROOT_PASSWORD=<pwd> -it spectrum-ss-image
  • 非 MLS/LS コンテナを作成する方法
    docker run -e LANDSCAPE_HANDLE=64 -e IS_MLS=no -e ROOT_PASSWORD=<pwd> -e MAIN_LOCATION_SERVER=<mlsconname> -e MAIN_LOCATION_SERVER_IP=<mlsipaddress> -it spectrum-ss-image
  • OneClick サーバ コンテナを作成する方法
    docker run -e LANDSCAPE_HANDLE=128 -e ROOT_PASSWORD=<pwd> -e MAIN_LOCATION_SERVER=<mlsconname> -e MAIN_LOCATION_SERVER_IP=<mlsipaddress> -e TOMCAT_PORT=8080 -p 9090:8080 -it spectrum-one-click-server-image
    : LANDSCAPE_HANDLE は環境変数であり、値は 128 です。Spectrum インストールを動作させるには、すべての環境変数に希望の値を指定します。
  • コンテナ ID を取得するには、以下のコマンドを実行します。 
    docker ps -a
  • コンテナにログインし、SpectroSERVER を開始または停止したり、そのような操作を実行したりするには、以下のコマンドを実行します。 
    docker exec -it <container_id> /bin/bash
  • URL http://hostvmname:9090/spectrum (9090 はポート マッピングです)を使用して、OneClick ページにアクセスします。
    注:
    OneClick ページで非 MLS ロケーション サーバが表示されない場合は、MLS の /etc/hosts の一部として非 MLS ホスト名、IP を追加してください。
アップグレード 
アップグレード手順を以下に示します
。 
  1. 以下のコマンドを実行することにより、ネイティブの Docker Engine を使用して Linux ホスト上に永続ボリュームを作成します。 
    docker volume create my-vol
    docker volume ls
    docker volume inspect my-vol
    [
    {
    "Driver": "local",
    "Labels": {},
    "Mountpoint": "/var/lib/docker/volumes/my-vol/_data", >>> Location of PV on hostvm
    "Name": "my-vol",
    "Options": {},
    "Scope": "local"
    }
    ]
  2. コンテナを作成し、コンテナ内のフォルダ上に永続ボリュームをマウントします。スクリーンショットの画像では、
    /data フォルダ
    がすでに作成されています。これをマウント場所として使用します。コンテナを作成し、コンテナ内のフォルダ上に永続ボリュームをマウントする Docker コマンドは以下の通りです。 
    • MLS SpectroSERVER のみのコンテナを作成するには、以下のコマンドを実行します。 
      docker run -it --name ls1 -v my-vol:/data -e LANDSCAPE_HANDLE=128 -e IS_MLS=yes -e ROOT_PASSWORD=<root-pwd> -e PERSISTENT_LOCATION=spectrum/mls1 ss-image-crash-103    
      ここではコンテナ内の /data の場所に my-vol をマッピングします。コンテナの /data は、ホスト VM の /var/lib/docker/volumes/my-vol/_data 上にマウントされます。
    • 非 MLS SpectroServer のみのコンテナを作成するには、以下のコマンドを実行します。 
      docker run -e LANDSCAPE_HANDLE=64 -e IS_MLS=no -e ROOT_PASSWORD=<pwd> -e MAIN_LOCATION_SERVER=<mlsconname> -e MAIN_LOCATION_SERVER_IP=<mlsipaddress>  -e PERSISTENT_LOCATION=spectrum/ls1 -it spectrum-ss-image
    • OCS コンテナを持つ SpectroSERVER を作成するには、以下のコマンドを実行します。 
      docker run -it --name ls1 -v my-vol:/data -e LANDSCAPE_HANDLE=128 -e IS_MLS=yes -e ROOT_PASSWORD=<pwd> -e PERSISTENT_LOCATION=spectrum/ls1 -e TOMCAT_PORT=8080 -p 9090:8080 isl-dsdc.ca.com:5000/tools-ca-com/ssocsbothpv
  3. SSdb backup.sh script を実行して、永続ボリューム上に SSdb をコピーします。
  4. 現在のコンテナを強制終了し、同一のイメージまたは変更したイメージで新しいコンテナを作成してアップグレードします。新しいコンテナの作成中に、同じ永続ボリュームを記述します。SSdb が保存され、新しいコンテナが作成されます。
トラブルシューティング
Q: 「yum update」コマンドで docker を更新した後でも、インストール中に Docker がエラーをスローします。 
A: 以下の手順に従います。
  1. 以下のコマンドを実行して、以前のネイティブ docker インストールの残物をすべて削除します。
    [root@here ~]# rpm -aq | grep docker
    docker-common-1.10.3-59.el7.centos.x86_64
    [root@here ~]# yum remove docker*
  2. container-selinux を検索します。 
    [root@here ~]# rpm -qa | grep container-selinux
    container-selinux-1.10.3-59.el7.centos.x86_64
  3. container-selinux が他のものによって使用されていないことを確認し、以下のコマンドを使用して削除します。 
    [root@here ~]# rpm -q --whatrequires container-selinux-1.10.3-59.el7.centos.x86_64
    no package requires container-selinux-1.10.3-59.el7.centos.x86_64
    [root@here ~]# yum remove container-selinux