> 웹 프론트엔드 > JS 튜토리얼 > Docker Python Django 초기 구성 설정

Docker Python Django 초기 구성 설정

王林
풀어 주다: 2024-09-01 21:09:38
원래의
1010명이 탐색했습니다.

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 images
로그인 후 복사

이 명령은 REPOSITORY, TAG, IMAGE ID, CREATED, SIZE와 함께 모든 Docker 이미지 목록을 표시합니다.

예제 출력:

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: 버전을 지정하는 데 자주 사용되는 이미지의 태그입니다.
  • IMAGE 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
로그인 후 복사

이렇게 하면 실행 중인 모든 컨테이너가 이름, 상태 및 포트 매핑과 함께 나열됩니다.

애플리케이션에 액세스

이제 웹 브라우저에서 http://localhost:8001로 이동하여 Django 애플리케이션에 액세스할 수 있습니다.

.
.
.

4.도커 볼륨

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿