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?

More than 1 year has passed since last update.

コマンドの目的と意味 uvicorn app:app --reload、docker-compose up --build

Posted at

質問1 uvicorn app:app --reloadとdocker-compose up --buildは目的や意味の何が違うの?意味わからない。中学生や初学者でもわかるようにして下さい。

uvicorn app:app --reload は、あなたのコンピューターで直接プログラムを動かすためのコマンドです。これは、プログラムを書き換えたらすぐにそれを反映してくれるので、プログラムを作っているときに便利です。

一方で docker-compose up --build は、あなたのプログラムを小さな仮想の箱(コンテナと呼ばれる)の中で動かすためのコマンドです。このコマンドを使うと、他の人がどんなコンピューターを使っていても、みんな同じ環境でプログラムを動かすことができます。これは、自分のコンピューターだけでなく、他の人と一緒に仕事をするときや、プログラムをインターネットで公開するときに特に便利です。

要するに、uvicorn は自分で使うときに手軽で、docker-compose は他の人と共有したり、本格的に公開するときに使うものだと思えばいいです。

質問2 両方使用するのは問題ない?

はい、両方を使うことに問題はありませんが、通常は同じアプリケーションに対して同時に使うことは少ないです。なぜなら、それぞれ異なるシナリオや目的に適しているからです。

  • uvicorn app:app --reload:

    • これはローカル開発のためのコマンドで、あなたのコンピュータのローカル環境で直接FastAPIアプリケーションを実行します。
    • コードを編集すると自動でリロード(再読み込み)され、変更がすぐに反映されるので開発が迅速に行えます。
  • docker-compose up --build:

    • これはDockerを使って、アプリケーションとその他のサービス(例えばデータベース)を含む複数のコンテナを同時に起動するためのコマンドです。
    • 本番環境に近い形でアプリケーションをテストしたい時や、チームで共有する環境を作る時に適しています。

両方を使う場合は、通常は開発の異なる段階で使い分けます。たとえば、単純な開発やテストのために uvicorn を使い、アプリケーションが完成したり、チームメンバーと共有したい時に docker-compose を使用する、という流れになります。

同時に使うとポートの競合などの問題が発生する可能性があるため、通常は一方を停止してからもう一方を使用します。

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?