Cargo の更新
Cargo のイメージや環境変数を更新し、すぐに再デプロイします。
Cargo のイメージを更新する
先ほどダウンロードしたイメージを使って、Cargo の my-cargo を変更しましょう。
nanocl cargo patch global.my-cargo --image ghcr.io/next-hat/nanocl-get-started:latestいくつかのオプションを指定しています。それぞれの意味は次のとおりです。
global.my-cargoは更新する Cargo の正規キーです。--imageは変更する値で、Cargo のイメージを指定します。ghcr.io/next-hat/nanocl-get-started:latestは新しいイメージ名です。
cargo の詳細を表示して、変更が反映されたか確認できます。
nanocl cargo inspect global.my-cargoget-started のデフォルトのポートは 9000 なので、そのポートにアクセスできるか確認します。
Cargo を更新すると、関連するコンテナの IP アドレスが変わります。
古いコンテナを削除する前に、新しいコンテナを起動するためです。
curl 10.2.0.3:9000次のような結果が出力されます。
{
"headers": {
"accept": "*/*",
"host": "10.2.0.3:9000",
"user-agent": "curl/8.2.1"
},
"envs": {
"HOME": "/",
"NANOCL_NODE_ADDR": "192.168.8.102",
"NANOCL_CARGO_KEY": "global.my-cargo",
"NANOCL_CARGO_NAMESPACE": "global",
"NANOCL_CARGO_INSTANCE": "0",
"TERM": "xterm",
"PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
" ": "/bin/nanocl-get-started",
"HOSTNAME": "global.my-cargo-r0-my-cargo-a1b2c3.c",
"NANOCL_NODE": "behuman"
}
}これで最初の cargo を新しいイメージに更新できました。
Cargo の環境変数を更新する
cargo を、environment variables を返す新しいイメージに更新しました。
次は環境変数を更新します。
PORT の environment variable を更新して、cargo が使うポートを変更しましょう。
nanocl cargo patch global.my-cargo --env PORT=9001先ほど説明したように IP アドレスが変わるため、次のコマンドを実行します。
nanocl cargo inspect global.my-cargoこれで新しい IP アドレスを取得できます。
新しい環境変数が反映されたか確認するには、次のコマンドを実行します。
curl 10.2.0.2:9001次の内容が出力されます。
{
"headers": {
"accept": "*/*",
"host": "10.2.0.2:9001",
"user-agent": "curl/8.2.1"
},
"envs": {
"NANOCL_CARGO_INSTANCE": "0",
" ": "/bin/nanocl-get-started",
"HOSTNAME": "global.my-cargo-r0-my-cargo-d4e5f6.c",
"HOME": "/",
"NANOCL_NODE": "behuman",
"TERM": "xterm",
"NANOCL_NODE_ADDR": "192.168.8.102",
"PORT": "9001",
"PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NANOCL_CARGO_KEY": "global.my-cargo",
"NANOCL_CARGO_NAMESPACE": "global"
}
}今回は 9000 ではなく 9001 を使っています。サービスが PORT 環境変数の値を使うためです。
最終更新日