コンテナ起動パラメータ説明書
3 ソフトウェアの起動
3.1 LCC再構築ソフトウェア Docker版イメージのダウンロードとインストール
- lcc-rebuild-cloud-server-tag-x.x.x.tar.gz イメージファイルをダウンロードし【具体的なダウンロードアドレスはXGRIDS納品担当者から提供される】、インポートコマンドを実行する:
ダウンロード先:
https://cdn-bukbb1.xgrids.cloud/developer/deploy/lcc/lcc-rebuild-cloud-server-tag-x.x.x.tar.gz
gunzip コマンドで解凍し、docker load コマンドでイメージをインポートします:
gunzip -c lcc-rebuild-cloud-server-tag-x.x.x.tar.gz | docker load
インポート後の tag バージョンは次のとおりです:
lcc-rebuild-cloud-server:tag-x.x.x
3.2 イメージ起動コマンド
3.2.1 LCC再構築ソフトウェアイメージの起動
LCC再構築ソフトウェアはDockerイメージの形で提供され、dockerコマンドで起動する。起動パラメータの具体的な説明は、3.3章を参照のこと。
オフラインライセンス版の起動コマンド例:
sudo docker run -d --gpus "device=0" -p 8080:8080 -v /local_work_folder:/work -v /local_work_folder/db-0:/app/db -e CODEMETER_SERVER=<private-license-server-ip> lcc-rebuild-cloud-server:tag-v1.0.0-offline-20250319010823
3.2.2 参考:Consulレジストリセンターの迅速な起動【クラスタ版必須】
シングルノードマルチGPUサーバーでクラスタモードを採用し、複数のコンテナノードを起動する場合、consulレジストリセンターのサポートが必要である。
お客様のマシンルーム環境内にconsulレジストリセンターのインフラがない場合、以下はDocker方式で、consulレジストリセンターサービスを迅速に起動するサンプルである:
sudo docker run -d --restart always --name=consul -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8500:8500 -p 8600:8600 hashicorp/consul:1.20 agent -server -ui -node=n1 -bootstrap-expect=1 -client='0.0.0.0'
注:
1. この例では Consul をスタンドアロンモードで実行し、クラスタや DNS サービスの要件はありません。ホストは 8500(Web UI と API)を開放すれば十分です。
2. Consul 自体をクラスタモードで展開する場合は、Consul ノード間で 8300、8301、8302、8400 ポートを開放する必要があります。DNS サービスディスカバリが必要な場合は 8600 ポートを開放してください。詳細は Consul の公式ドキュメントを参照してください。
3.2.3 参考:MySQLデータベースの迅速な起動
LCC再構築ソフトウェアのタスク情報などはデータベースに格納され、永続化される。
現バージョンは【組み込みSqlite DBファイル】と【MySQLデータベース】の2種類のデータベースをサポートし、設定方法は3.3章を参照のこと。
お客様のマシンルーム環境内にMySQLデータベースのインフラがない場合、以下はMySQL8のイメージを採用してMySQLデータベースサービスを迅速に起動し、必要なデータベースとユーザーを作成するサンプルである:
# MySQL 8 を推奨します。起動時に unicode 対応の文字セットを設定し、lcc-storage-0 データベースを作成し、/data/lcc/mysql8-data ディレクトリでデータを永続化します
sudo docker run -d --restart=always --name mysql8 -e MYSQL_CHARACTER_SET_SERVER=utf8mb4 -e MYSQL_COLLATION_SERVER=utf8mb4_unicode_ci -e MYSQL_ROOT_PASSWORD=xxxx -e MYSQL_DATABASE=lcc-storage-0 -v /data/lcc/mysql8-data:/var/lib/mysql -p 3306:3306 mysql:8.0
# ログインして LCC ソフトウェア用のデータベースユーザーを作成し、lcc-storage-0 データベースへの権限を付与します
CREATE USER 'lcc-user-0'@'%' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON `lcc-storage-0`.* TO 'lcc-user-0'@'%';
3.3 コンテナ起動パラメータ説明
3.3.1 共通パラメータ
| パラメータ | 必要性 | 意味 |
|---|---|---|
| -d | 任意 | コンテナをバックグラウンドモードで実行させる。コンテナを起動した後、コマンドラインは即座に返り、コンテナはバックグラウンドで実行を続ける。 |
| --pull always | 任意 | ローカルにそのイメージが既に存在するかどうかにかかわらず、常にリモートリポジトリから最新のイメージバージョンをプルしようとする。 リモートイメージリポジトリを明確に使用し、かつ納品tagがロックされている場合にのみ使用する;オフラインでイメージをインポートする際はこのパラメータを使用しないこと。起動時にリモートリポジトリにアクセスしたりバージョンドリフトが発生したりするのを回避するためである。 |
| --restart always | 推奨 | Dockerコンテナの再起動ポリシーを適切に設定することで、コンテナ内のプロセスが異常終了した後に自動的に復旧できるようにし、アプリケーションの安定性を向上させることができる。 |
| --name=lcc-rebuild-0 | 推奨 | このコンテナをlcc-rebuild-0と命名する 各コンテナには規則的に命名することを推奨する。例えばGPUのグラフィックスカードと一貫性を保つようにすると、コンテナ管理が容易になる。 |
| --gpus "device=0" | 必須 | コンテナが使用するグラフィックスカードの番号を指定する。0が1枚目のグラフィックスカードである。 注意: 1,現在、単一コンテナ内では複数のグラフィックスカードをサポートしていない。さもなければ異常を引き起こす。 2,コンテナ起動時に --privileged=true パラメータの使用は禁止である。さもなければGPU使用上の競合が発生する。 |
| -p 8080:8080 | 必須 | コンテナノードのAPIポートを、ホストマシンの8080ポートにマッピングする 注:Dockerコンテナ内部のAPIポートは8080に固定されており、ホストマシンのポートマッピングはカスタマイズ可能である。。 |
| -e APP_MODE=CLUSTER_MAIN | コンテナクラスタモードを使用する場合 必須 |
購入した授権に【クラスタモード授権】が含まれている場合、APP_MODEは以下のように設定できる:
注意: 各シングルノードマルチGPUコンテナクラスタには、メインノードは1つしか存在できない。サブノードはメインノードに処理ユニットとして呼び出されることしかできず、複数のノードが共同で1つの比較的大きな再構築タスクを完了する。 |
| -e SERVICE_ACCESS_KEY=y6vera | 任意 | 現在のコンテナのAPI使用時に必要な認証accessKeyフィールドを指定する。 デフォルト値はy6veraであり、コンテナがこのパラメータを設定した場合、WebUIまたは他の業務システムからAPIにアクセスする際は、同じ値に変更することに注意する。そうすれば正常に呼び出せる。 |
| -e JOB_QUEUE_CONTROL=ON/OFF | 任意 | コンテナの起動時に、キュー内のタスクを自動的に実行し始めるかどうか。デフォルトはON ※ 再構築タスクが進行中の場合、新たに追加された再構築タスクは、DBのタスクリストに一時保存して起動待ちにすることができる。 |
3.3.2 授権関連パラメータ
| パラメータ | 必要性 | 意味 |
|---|---|---|
| オフライン授権モード | ||
| -e CODEMETER_SERVER=192.168.68.205 | オフライン授権時 必須 | オフライン授権モードにおける、現在のマシンルーム内のCodeMeterサーバーのアドレス。 |
| オンライン授権モード | ||
| -e LICENSE_SERVER=CN or INTL -e LICENSE_KEY=xxxxxxx | オンライン授権時 必須 | オンライン授権モードにおける、授権を申請するXGRIDSクラウドサーバーのアドレス。
LICENSE_KEYはXGRIDSが販売するオンライン授権キーである。 |
3.3.3 クラスタモードに必要なパラメータ
| パラメータ | 必要性 | 意味 |
|---|---|---|
| -e SERVICE_REGISTER=http://注册中心IP:注册中心端口 | クラスタモードで起動する場合 必須 | CONSULレジストリセンターのアドレスとポート。 独立したCONSULサービスがある場合、そのサービスのIPとポートを入力する。 CLUSTER_MAINノードを直接レジストリセンターとして使用する場合、IPアドレスはホストマシンのローカルIPを採用し、ポート番号はメインノードコンテナが対外的に公開するレジストリセンターポート8500を採用する |
| -e SERVICE_ADDRESS=本容器对外暴露的IP地址 -e SERVICE_PORT=本容器对外暴露的宿主机端口 | クラスタモードで起動する場合 必須 | 現在のコンテナがサービスノードとしてレジストリセンターに登録する際の、自身のIPアドレスとAPIサービスポート |
| トポロジ一:CLUSTER_MAIN メインノード内蔵の Consul を使用する場合、LCC メインコンテナの 8500 をマッピングする必要がある;トポロジ二:独立した Consul を使用する場合、LCC メインコンテナの 8500 をマッピングせず、SERVICE_REGISTER は独立した Consul のアドレスを指す: | ||
| -p 8500:8500 | 内蔵 Consul トポロジのメインノードのみ 任意 | CLUSTER_MAIN は内蔵 Consul をサポートする;このトポロジを使用する場合にのみメインコンテナの 8500 をマッピングする必要がある。独立した Consul を使用する場合、LCC メインコンテナは 8500 をマッピングしない。 内蔵モードの例は:ホストマシンの 8500 ポート(カスタマイズ可能)を LCC メインコンテナ内部で固定された 8500 ポートにマッピングする。
|
3.3.4 データディレクトリのマウント
| パラメータ | 必要性 | 意味 |
|---|---|---|
-v /local_work_folder:/work | 必須 | dockerコンテナ内の/workディレクトリは、必ずホストマシンのディレクトリにマウントしなければならない。
|
| -v /data01:/data01 等 | 任意 | 実際の業務ニーズに応じて業務データが置かれているパスをマウントする。 マウント後のディレクトリは、コンテナ内の処理からアクセスできる。 注意: クラスタモードでは、各ノードは完全に同一のパスをマウントすべきである。 これらのディレクトリをデータの入出力ディレクトリとする場合、そのIO性能を保証する必要がある。 |
3.3.5 データベース関連パラメータ
| パラメータ | 必要性 | 意味 |
|---|---|---|
| -e DB_TYPE="mysql" 或 "sqlite" | 任意 | 現在のシステムは2種類のデータベースタイプをサポートする:組み込みデータベースSQLite または MySQL このパラメータを設定しない場合、デフォルトでSQLiteを採用してタスク情報を永続化保存する。 "mysql"を指定した場合、MySQLデータベースに接続してタスク情報を永続化保存できる。 |
| DB_TYPE="sqlite" の場合、dbディレクトリをマウントする形で、データベースファイルをホストマシンのディレクトリ内に永続化できる: | ||
| -v /data/lcc-work/db-0:/app/db | STAND_ALONEモードを使用する場合、推奨 | STAND_ALONEモードでは、dockerコンテナ内の/app/dbディレクトリは、各コンテナが異なるホストマシンのディレクトリにマウントし、各コンテナノードのDBデータを永続化保存することを推奨する。 こうすればコンテナを削除した後でも、依然として過去の再構築タスク情報を保持できる。 注意: 複数のSTAND_ALONEコンテナが同一のホストマシンディレクトリを/app/dbにマウントすると、複数のノードが1つのデータベースファイルに対して読み書きすることになり、エラーを引き起こす。 |
| -v /data/lcc-work/db:/work/db | CLUSTERモードを使用する場合、任意 | DB_TYPE="sqlite" で、かつCLUSTERモードで起動する場合、コンテナのデフォルトのデータベースディレクトリは/work/dbである。 CLUSTERモードでは、同一クラスタのコンテナノードは必ず同一の/workディレクトリをマウントするため、一般的には特別にマウントする必要はなく、データベースファイルも /work/dbディレクトリに永続化できる。 |
| DB_TYPE="mysql" の場合、以下のパラメータを指定して外部MySQLデータベースに接続する | ||
| -e DB_USER="userxxx" -e DB_PASSWORD="pwdxxxxx" -e DB_HOST="192.168.11.11" -e DB_PORT="3306" -e DB_NAME="lcc-storage-0" | DB_TYPE="mysql"の場合、必須 | 注: データベースはテーブル構造を初期化する必要はなく、 DB_USERがDB_NAMEで指定されたデータベースに対して、DDL権限を持っていればよい。 |
3.3.5 WebUI関連パラメータ(Beta)
| パラメータ | 必要性 | 意味 |
|---|---|---|
| -e WEBUI=ON/OFF | 任意 | デフォルトOFF ONの場合、APIポートにデフォルトで1つのWebUI画面を開き、機能的な操作を行うことができる |
| -e RESULT_AUTO_ZIP="ON" 或 "OFF" | 任意 | LCCモデル結果の生成後にzip圧縮パッケージを生成するかどうか。WebUI画面のダウンロードボタンからDownloadできる |
3.4 データディレクトリ管理モードの参考
- ※推奨※業務システムは
/local_work_folder内に、異なる作業ごとにそれぞれjobディレクトリを作成できる。 - そしてディレクトリ内に
inputディレクトリを入力データの格納ディレクトリとして作成する; outputディレクトリを、アルゴリズムの出力結果の受け取りディレクトリとして作成する。- 例:
/local_work_folder
L /job001
L /input # Lixel デバイスのスキャンプロジェクトデータを input ディレクトリに配置します
L /output # アルゴリズムは結果データを output ディレクトリに出力します
L /job002
L /input
L /output
3.5 テスト再構築データサンプル
inputに置くK1、L2 Proスキャンプロジェクトデータサンプルは図のとおりである:


inputに置くK1スキャンプロジェクトデータサンプルのダウンロードアドレス(2.7G):https://cdn-bukbb1.xgrids.cloud/lcc-install/test-data/input-K1.zip
3.6 【中国大陸地区ONLY】Dockerイメージソースに接続できない問題
中国大陸地区のネットワーク制限により、Dockerの公式ソースからConsul、MySQLなどのイメージをプルできない可能性があるため、国内のイメージソースを設定してこの問題を解決することを推奨する
1. /etc/docker/daemon.json を修正し、registry mirror を設定する。具体的なコマンドは以下のとおり:
sudo vim /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.1panel.live/"
]
}
EOF
2. dockerを再起動する:
systemctl daemon-reload
systemctl restart docker