Dockerizar un proyecto Django

17332 단어 pythondocker

소개하다.


부두 근로자들은 분배 항목에서 어떻게 새로운 안전 조치를 실시할 것인가에 대한 건의를 토론하고 있다.Django의 dockerizar nuestra 응용 프로그램에서 지속적인 vamos

엘레지르 누에스트라스 이마키네스와 에스파시오 델라바요


이것은 날카로운 칼이다. 그것은 날카로운 칼이다. 그것은 날카로운 칼이다.
python - Docker Hub
이것은 몬타누에스트라 데이터에 기초한 한 폭의 이미지로 5.7판의 전자 결정 시스템이다
mysql
새로운 프로젝트에서, 우리는 당신에게 양질의 카펫을 제공할 것입니다
~/ $ mkdir dockerproject
~/ $ cd dockerproject
~/dockerproject $

종속성 정의


새 프로젝트의 정의는 파이톤에 대한 설명에 대응하는 새 프로젝트의 의존성과 일치합니다.
규범에 부합되는 크림.이것은 새로운 상업 모델로 우리의 고객이 부가가치를 실현하는 것을 도울 수 있다.
Django>=3.0,<4.0
mysqlclient>=2.0
mysql의 고객은 Python 3판의 내용을 librerias에 추가할 필요가 없습니다. 이것은 Agregaromes 매뉴얼입니다.

구렁이 여행


Dockerfile의 명목 파일에서 카펫은 현지의 구렁이 이미지에서 일련의 새로운 프로젝트 실시에 필요한 지령을 정의하는 중요한 구성 부분이다.
Definimos la imagen 기지.
FROM python:3
trabajo 이사회 크림.
WORKDIR /code
Ahoranecesitaremos Installar Django와 mysql para Python의 고객은 사용자의 요구를 충족합니다.
COPY requirements.txt /code/
이것은 독립된 학원이다.
RUN pip install -r requirements.txt
너는 부두 부두 지역의 새 이사회 회의에서 발언할 수 있다
COPY . /code/
마지막 회의는 Dockerfile 회의에서 수행됩니다.
FROM python:3

WORKDIR /code

COPY requirements.txt /code/

RUN pip install -r requirements.txt

COPY . /code/
수정 과정에서 터미널 장치의 이미지 압축에 변화가 발생할 수 있다.
~/dockerproject $ docker build .
[+] Building 0.4s (10/10) FINISHED
 => [internal] load build definition from Dockerfile                                                       0.0s
 => => transferring dockerfile: 31B                                                                        0.0s
 => [internal] load .dockerignore                                                                          0.0s
 => => transferring context: 2B                                                                            0.0s
 => [internal] load metadata for docker.io/library/python:3                                                0.0s
 => [1/5] FROM docker.io/library/python:3                                                                  0.0s
 => [internal] load build context                                                                          0.1s
 => => transferring context: 2.43kB                                                                        0.0s
 => CACHED [2/5] WORKDIR /code                                                                             0.0s
 => CACHED [3/5] COPY requirements.txt /code/                                                              0.0s
 => CACHED [4/5] RUN pip install -r requirements.txt                                                       0.0s
 => CACHED [5/5] COPY . /code/                                                                             0.0s
 => exporting to image                                                                                     0.1s
 => => exporting layers                                                                                    0.0s
 => => writing image sha256:13e36e422c69799feb5105373d4b04d78c683c7527294be29c80a7940a6374b4               0.0s
아호라 포드모스(Ahora podemos)는 설치 전 이미지를 보정하고 설치 후 이미지를 보정하는 독립 설치 보정 회사입니다.
~/dockerproject $ docker run 13e36e422c69799feb5105373d4b04d78c683c7527294be29c80a7940a6374b4 python -m django --version
3.2

크레어 엘 프로예크토


이것은 중요한 항목이며, 이 항목은 중요한 항목이다.El comando puede variar en El parámetro directorio Real y y cual te dejo Ejempos para Linux y Windows.
~/dockerproject $ docker run -it --volume <directorio-actual>:/code <hash-de-la-imagen> python -m django startproject dockerproject .
Windows $ docker run -it --volume %cd%:/code <hash-de-la-imagen> python -m django startproject dockerproject .
Linux $ docker run -it --volume $(pwd):/code <hash-de-la-imagen> python -m django startproject dockerproject .
마지막으로 프로젝트 이름의 새 이사가 프로젝트 구조와 이름을 보존할 권리가 있는지manage.py가 새 프로젝트 이름을 보존할 권리가 있는지 확인한다.
아호라 테네모스(Ahora tenemos)는 미국 다토스 기지(datos va a usar)와 포드레모스(esto lo podremos)로 구성된 건축/부두 프로젝트/환경을 설계했다.py en la linea 76 con la constante 데이터베이스.
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'project',
        'USER': 'root',
        'PASSWORD': 'password',
        'HOST': 'docker_python_db',
        'PORT': 3306
    }
}

Docker compose


이것은 우리 부두 노동자들의 새로운 프로젝트다.
크림 아치보 나루터.yml는 새로운 프로젝트에 명확한 서비스를 제공합니다.
최초의 정의는 usar 버전을 작성하는 것이다.
version: '3.8'
우리는 새로운 네트워크 서비스를 정의했다.
# version
web:
    container_name: ${PROJECT_NAME}_web
    build: .
    working_dir: /code
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - '8085:8000'
    expose:
      - '8000'
    links:
      - mysql
    networks:
      backend:
        ipv4_address: 192.20.0.5
네트워크 터미널의 프로젝트 이름에서 서비스 내용을 어떻게 정의하는지 설명해 주세요.Dockerfile의 새 그림에서 전체 배경을 볼 수 있습니다.트라바호 이사회/코드 y사 이사회 구성원:
command: python manage.py runserver 0.0.0.0:8000
테스트 과정에서 테스트 인원은 서비스를 제공해야 하고 테스트 과정에서 테스트 인원은 서비스를 제공해야 한다.이 책의 저자는 부두 노동자이다. 그는 새 이사에 관한 책을 썼다. 이 책의 저자는 새 이사이다.
뉴올리언스와 코넬도의 프레토스 지역, 뉴올리언스와 코넬의 프레토스 지역의 항구 수는 각각 8085개와 8000개다.
교육 기관은 공공장소에서 무력을 사용하는 것을 허락하지 않는다.
이 연구소의 링크는 명확한 서비스 허가도, 명확한 인터넷 서비스 허가도 없다.
최종적으로 네트워크는 서로 다른 서비스의 공동 이익을 정의했다.이것은 특별한 명절이다.
아호라 포드모스 아니아디르 엘 세비시오 데 파라누에스트라 다토스 기지.
# web
mysql:
    container_name: ${PROJECT_NAME}_db
    image: 'mysql:5.7'
    volumes:
      - './database/data:/var/lib/mysql'
    ports:
      - '3308:3306'
    networks:
      backend:
        ipv4_address: 192.20.0.6
    environment:
      MYSQL_DATABASE: project
      MYSQL_ROOT_PASSWORD: password
Aquidefinimos el nombre del contenedor, que usa la imagen mysql: 5.7 y que estarámontando un volume de la 카펫/데이터베이스/dataen/var/lib/mysql는 데이터 기초와 내용을 바탕으로 데이터베이스를 사용할 수 없고 데이터 기초와 서비스를 바탕으로 데이터베이스를 정의할 수 없습니다.마피모스항 3308호와 3306호는 미국의 mysql로 그 내용과 정의는 빨간색이며 그 내용과 정의는 서로 관련되어 있다.최종적으로 mysql 파일은 데이터베이스에 있는 변수를 정의했고 데이터베이스에 있는 데이터는 기초 데이터로 정의할 수 있으며 이런 데이터는 기초 데이터로 정의할 수도 있고 기초 데이터로 정의할 수도 있다.
마지막으로 부두 일꾼은 서비스 전에 정의를 완성했다.La red backend usara el driver bridge and una configuración donde las direcciones ip tendrán una mascara de 24 y empezaran con 192.20.0.
# version
# services
networks:
  backend:
    driver: bridge
    ipam:
      config:
        - subnet: 192.20.0.0/24
알 핀드리아스 아치보 도클이 창작했다.yml como el siguiente:
version: '3.8'

services:

  web:
    container_name: ${PROJECT_NAME}_web
    build: .
    working_dir: /code
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - '8085:8000'
    expose:
      - '8000'
    links:
      - mysql
    networks:
      backend:
        ipv4_address: 192.20.0.5

  mysql:
    container_name: ${PROJECT_NAME}_db
    image: 'mysql:5.7'
    volumes:
      - './database/data:/var/lib/mysql'
    ports:
      - '3308:3306'
    networks:
      backend:
        ipv4_address: 192.20.0.6
    environment:
      MYSQL_DATABASE: project
      MYSQL_ROOT_PASSWORD: password

networks:
  backend:
    driver: bridge
    ipam:
      config:
        - subnet: 192.20.0.0/24
프로젝트 이름의 변수를 정의해야 합니다.이것은 일종의 크림이다.새 이사회 의장:
###< docker ###
PROJECT_NAME=docker_python
###> docker ###
회사 서비스의 부당한 행위를 바로잡다.
~/dockerproject $ docker-compose up -d
내가 지금 바로잡으려는 것은 새로운 나비카도르localhost:8085의 잘못이다. 왜냐하면 그의 잘못은 다음과 같기 때문이다.

편두통


마지막 단계는 기준면에서 이전 상황을 기록하고 Django 모듈 관리에서 이전 상황을 기록하며 마지막 단계는el-siguiente comando를 사용한다.
~/dockerproject $ docker exec -it docker_python_web bash
이것은 아주 좋은 사이트입니다. 이것은 이민 사이트입니다.
root@<hash>: /code# python manage.py migrate

결론


Docker es siempre una Excellente opción para Distribution on nuestras aplicaciones,podemos Personalizer una imagen local y y adecuarla a nuestras necesidades,ademas con solo Installar Docker tendremos una serie de Herraminentas Poderomas para undarrollo mas rápido and Est caso in Tenneréthe Installar Python Directions en Nuesta Computera podremos in the Procto en Django.
영사관:

아드가리 / docker python


이것은python 프로젝트를 정지하는 프레임워크입니다

좋은 웹페이지 즐겨찾기