0

個人用サーバーで Drone.io 0.5 サーバーを使用しています。

ただし、Drone が実行されている物理サーバーを再起動すると、その構成、ビルド、およびシークレットが失われました。正確には、情報の一部が失われました。シャットダウンによって Drone サーバーが強制終了され、2 日前の状態のみがディスクに保存されたようです。とにかく、残っていた構成が壊れているように見えたので、すべてを再構成する必要がありました (リポジトリ、シークレットなど)。

Drone にディスク上のデータをより頻繁にフラッシュさせる方法はありますか? 予期しない再起動が心配で、同じ問題が再び発生しています。

編集:私はテストし$ docker-compose stopましたが、サーバーを停止してすべてのデータを保存するのに十分です。サーバーがクラッシュした場合にどうするかについては、まだ心配しています。

4

1 に答える 1

1

Drone はすべてのデータをデータベースに永続化します。デフォルト設定を使用している場合、これは sqlite データベースです。ドキュメントでは、データベースが作成されたパスでボリュームをホスト マシンにマウントすることを推奨しています。これにより、データベースはホスト マシンに書き込まれ、コンテナーが破棄されても破棄されません。

Drone は、ホスト マシンにボリュームをマウントして、sqlite データベースを永続化します。これは、代替データベース エンジンを使用する場合は必要ありません。

services:
  drone-server:
    image: drone/drone:0.5
    ports:
      - 80:8000
    volumes:
      - ./drone:/var/lib/drone/
    restart: always

Drone にディスク上のデータをより頻繁にフラッシュさせる方法はありますか? 予期しない再起動が心配で、同じ問題が再び発生しています。

SQLite はデータをメモリに格納しません。データベース トランザクションが完了するとすぐに、レコードがディスクに書き込まれます。これは、ACID 準拠のデータベースで必要です。

とにかく、残っていた構成が壊れていたようです

SQLite データベース ファイルが破損していると思われる場合は、以下をお勧めします。これはまれですが、可能です。このため、定期的なデータベース バックアップを常にお勧めします。

于 2017-01-18T01:53:26.657 に答える