ホームページ  >  記事  >  ウェブフロントエンド  >  Docker Python Django の初期構成セットアップ

Docker Python Django の初期構成セットアップ

王林
王林オリジナル
2024-09-01 21:09:38980ブラウズ

Docker ワークフロー

1. Dockerfile が正しいことを確認してください

Dockerfile の準備ができており、プロジェクトのルート ディレクトリに配置されていることを確認してください。前の説明に基づいて、Dockerfile は次のようになります:

FROM python:3.11

ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1

WORKDIR /app

COPY requirements.txt .

RUN pip install --upgrade pip
RUN pip install -r requirements.txt

COPY . .

EXPOSE 8000

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

.
.
.

2. Docker イメージを構築します

ターミナルを開き、Dockerfile が存在するディレクトリに移動します。次に、次のコマンドを実行して Docker イメージを構築し、my-docker-image という名前を付けます:

docker build -t my-docker-image .

このコマンドはコンテナを実行し、コンテナのポート 8000 をローカル マシンのポート 8000 にマップします。これにより、http://localhost:8000 経由で Django アプリケーションにアクセスできるようになります。

コンテナをバックグラウンドで実行する場合は、-d オプションを追加します。

docker run -d -p 8000:8000 my-docker-image

これにより、コンテナが分離モードで起動されます。

**docker イメージ**

システムで利用可能な Docker イメージを確認するには、次のコマンドを使用できます:

docker images

このコマンドは、すべての Docker イメージのリストと、そのリポジトリ、タグ、イメージ ID、作成済み、およびサイズを表示します。

出力例:

REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
my-docker-image     latest    d1a1f2e8f7b2   2 hours ago    450MB
python              3.11      a2d3c4e5f6g7   5 days ago     800MB

説明:

  • REPOSITORY: イメージの名前 (例: my-docker-image)。
  • TAG: 画像のタグ。バージョンを指定するためによく使用されます。
  • 画像 ID: 画像の一意の識別子。
  • CREATED: イメージが作成された時刻。
  • SIZE: 画像のサイズ。

.
.
.

3.Docker コンテナをビルドする

指定したコマンドは、my-docker-container という名前の Docker コンテナを分離モードで実行し、ローカル マシンのポート 8001 をコンテナ内のポート 8000 にマッピングします。コマンドの動作は次のとおりです:

指示:

docker run -d --name my-docker-container -p 8001:8000 my-docker-image

説明:

  • -d: コンテナーを分離モードで実行します。つまり、バックグラウンドで実行されます。
  • --name my-docker-container: コンテナーに my-docker-container という名前を割り当てます。
  • -p 8001:8000: ローカル マシンのポート 8001 をコンテナ内のポート 8000 にマップします。これにより、http://localhost:8001 にある Django アプリケーションにアクセスできるようになります。
  • my-docker-image: コンテナーに使用する Docker イメージを指定します。

コンテナが実行されていることを確認する

このコマンドを実行した後、次のコマンドを使用してコンテナが実行されているかどうかを確認できます。

docker ps

これにより、実行中のすべてのコンテナがその名前、ステータス、ポート マッピングとともに一覧表示されます。

アプリケーションにアクセスする

Web ブラウザで http://localhost:8001 に移動すると、Django アプリケーションにアクセスできるようになります。

.
.
.

4.Docker ボリューム

docker run -d --name my-docker-container -p 8001:8000 -v .:/app my-docker-image

指定した docker run コマンドは、Docker イメージから Docker コンテナを起動するために使用されます。コマンドの内訳は次のとおりです:

  • -d: コンテナーを分離モード (バックグラウンド) で実行します。
  • --name my-docker-container: コンテナー (my-docker-container) に名前を割り当てます。
  • -p 8001:8000: コンテナ内のポート 8000 をホスト マシンのポート 8001 にマップします。これは、ホスト マシン上の localhost:8001 のコンテナで実行されているサービスにアクセスできることを意味します。
  • -v .:/app: 現在のディレクトリ (.) をホスト マシンからコンテナ内の /app ディレクトリにマウントします。これは、イメージを再構築せずにリアルタイムで変更を確認したい場合の開発に役立ちます。
  • my-docker-image: コンテナーに使用する Docker イメージを指定します。

このコマンドは、ホスト マシンのポート 8001 からコンテナ内のポート 8000 にアクセスできる状態で、バックグラウンドでコンテナを起動し、現在のディレクトリをコンテナ内の /app にマウントします。調整や詳しい説明が必要な場合は、お気軽にお問い合わせください。

.
.
.

5.Docker-compose.yml

docker-compose.yml ファイルは、複数コンテナーの Docker アプリケーションを定義して実行するために使用されます。以下は、docker run コマンドに基づく docker-compose.yml ファイルの基本的な例です。

version: '3.8'  # Specify the version of Docker Compose

services:
  my-service:
    image: my-docker-image  # The Docker image to use
    container_name: my-docker-container  # The name of the container
    ports:
      - "8001:8000"  # Map port 8000 in the container to port 8001 on the host
    volumes:
      - .:/app  # Mount the current directory to /app in the container
    # Optional: Add environment variables if needed
    # environment:
    #   - ENV_VAR_NAME=value
    # Optional: Specify any commands to run
    # command: python app.py

# Optional: Define networks or other configurations here
# networks:
#   default:
#     driver: bridge

Explanation:

  • version: Defines the version of Docker Compose file format. 3.8 is a common choice.
  • services: Lists all the containers you want to run.
    • my-service: The name of the service. You can use any name here.
    • image: Specifies the Docker image to use.
    • container_name: Assigns a name to the container.
    • ports: Maps container ports to host ports.
    • volumes: Mounts directories or files from the host to the container.
    • environment: (Optional) Defines environment variables inside the container.
    • command: (Optional) Overrides the default command specified in the Docker image.

To use this docker-compose.yml file, save it in your project directory and run:

docker-compose up

This command will start the container based on the configuration in the docker-compose.yml file.

Docker Python Django initial configuration setup

[Source - Mayank Ahuja ]

Let's understand the ?????? ???????? -

[1.] Develop
◾ Write your application code.

[2.] Dockerfile
◾ Create a Dockerfile that defines the environment and dependencies for your application.

[3.] Build Image
◾ Use docker build to create a Docker image from your Dockerfile.

[4.] Run Container
◾ Use docker run to launch a container from your image.
◾ The container is an isolated instance of your application.

[5.] Test
◾ Test your application within the container.
◾ If you make changes, rebuild the image and recreate the container.

[6.] Push => This is Optional
◾ Use docker push to share your image on a registry (e.g. Docker Hub).

[7.] Pull => This is Optional
◾ Others can use docker pull to download your image and run your application in their own environments.

以上がDocker Python Django の初期構成セットアップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。