Skip to Content
ガイドNanocl入門2. Cargo を更新する

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-cargo

get-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 環境変数の値を使うためです。

最終更新日