0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Cloudflare Tunnel クライアントの更新

Posted at

記事一覧
Cloudflare Tunnel 構築(前編)
Cloudflare Tunnel 構築(後編)
Cloudflare Tunnel クライアントの自動起動
Cloudflare Tunnel クライアントの更新

------------------------------------------------
Cloudflare Tunnel クライアントは定期的にバージョンアップされます。
最新版はCloudflareの公式リリースノートやGitHubリポジトリで確認できます。特に支障がなければ、セキュリティの向上や新機能の利用、パフォーマンス改善のためにバージョンアップした方が良いでしょう。
 参考: Cloudflare Tunnel (cloudflared) リリースノート

バージョンアップ手順

Docker 環境で cloudflared クライアントをバージョンアップする場合、現在稼働しているコンテナを停止し、古いイメージを削除して、新しいバージョンのイメージをダウンロードし、新しいコンテナを起動する手順が必要です。

cloudflared サービスのユニットファイルに ExecStopPost=/usr/bin/docker rm cloudflare-d のような設定がされている場合、コンテナの削除はサービス停止時に自動で行われます。 そのため、手動でコンテナを削除するコマンドは不要です。

作業の流れは次の通りです。
 ① cloudflared サービスの停止
 ② 現在のコンテナイメージの削除
 ③ cloudflared サービスの開始

① cloudflared サービスの停止

サービス管理システム(systemd)用の ユニットファイル を指定して、cloudflared サービスを停止します。

$ sudo systemctl stop cloudflared.service

② 現在のコンテナイメージの削除

現在のイメージ名を docker images で確認してください。

$ docker images
 :(省略)
cloudflare/cloudflared          latest
 :(省略)

docker rmi コマンドで、確認したイメージを削除します。

$ docker rmi cloudflare/cloudflared
Untagged: cloudflare/cloudflared:latest
Untagged: cloudflare/cloudflared@sha256:522827fe...
Deleted: sha256:a188299885...
 :(省略)
Deleted: sha256:b7f712dabf...

③ cloudflared サービスの開始

サービス管理システム(systemd)で cloudflared サービスを開始します。
新しいコンテナイメージがダウンロードされた後、サービスが開始されます。

$ sudo systemctl start cloudflared.service

status オプションで、サービスの状態を確認します。
active (running)と表示されていれば成功です。

$ sudo systemctl status cloudflared.service
● cloudflared.service - Cloudflare Tunnel Client
     Loaded: loaded (/etc/systemd/system/cloudflared.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-07-21 22:28:52 JST; 48s ago
   Main PID: 54529 (docker)
      Tasks: 9 (limit: 18717)
     Memory: 8.8M (peak: 9.1M)
        CPU: 51ms
     CGroup: /system.slice/cloudflared.service
             └─54529 /usr/bin/docker run --name cloudflare-d --network=host cloudflare/cloudflared:latest tunnel --no-autoupda>

トラブルシューティング

もしバージョンアップ中に予期せぬ問題が発生した場合は、以下の点を確認してください。

  • サービスの状態を確認する:
    sudo systemctl status cloudflared.service コマンドで、サービスがどのような状態にあるか確認します。エラーメッセージが表示されている場合は、その内容を参考に原因を特定します。
     
  • Dockerコンテナの状態を確認する:
    docker ps -a コマンドで、cloudflare-d コンテナが存在するか、どのような状態にあるかを確認します。もしコンテナが残っていて、かつ ExecStopPost が機能していないようであれば、手動で sudo docker rm cloudflare-d を試してみてください。
     
  • ログを確認する:
    sudo journalctl -u cloudflared.service コマンドで、cloudflared サービスのログを確認します。エラーの詳細や、なぜサービスが起動しないのかの手がかりが得られることがあります。

終わりに

とても簡単にバージョンアップが完了しました。
Docker コンテナを使うメリットが十分に発揮されたのではないでしょうか。
インストール・アンインストール・バージョンアップ のすべてが簡単なので、今後も Docker 環境にはお世話になりそうです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?