No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

4D
7H
52M
34S

Dockerizando web services

19/20
Recursos

Aportes 19

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Antes le tenia miedo a Docker porque no entend铆 como era que funcionaba, hoy me siento enamorado de esta herramienta 鈥 Gracias totales 鈾

Docker es una maravilla, excelente m贸dulo de este curso acerca de docker.

En mi caso me salio el siguiente error:
Error response from daemon: driver failed programming external connectivity on endpoint web-server-web-server-: Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use

Tenia otro servidor activo en el puerto 80, asi que para solucionarlo utilice el puerto 8080 de mi local. En el docker-compose.yml quedo:

services:
  web-server:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - .:/app
    ports:
      - '8080:80' 

Para ver los resultados en el navegador fui a la direccion:

  • localhost:8080
  • localhost:8080/contact

Lo dejo por si le sirve a alguien 馃槃

Compa帽eros, les dejo como ejemplo mi repo, donde dockerize Jupyter Lab. Esto fue pensado para poder desplejar un servidor de Jupyter en alg煤n servidor remoto, y tener un servicio personal y privado tipo Google Colab.
Personalmente lo tengo corriendo en una Raspberry Pi.
Les recomiendo que vean los archivos Dockerfile y el docker-compose.yml, y ver谩n que no es tan diferente al presentado en clase 馃槃 Ojal谩 les sirva.
https://github.com/alexini-mv/docker-jupyterlab

Me encanta la tecnica legendaria de copiar y pegar jajaja

Dockenizando Web Services

Agrega los siguientes archivos en el proyecto web services

Archivo Dockerfile

FROM python:3.10 

WORKDIR /app
COPY requirements.txt /app/requirements.txt

RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt

COPY . /app

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]

Archivo docker-compose.yml

services:
  web-server:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - .:/app
    ports:
      - '80:80'

luego, ir a la terminal y construir el contenedor con el siguiente comando

  • Construir el contenedor
docker-compose build
  • Lanzar el contenedor
docker-compose up -d
  • Ver el estado del contenedor
docker-compose ps

Finalmente, abrimos localhost en Google y verificamos que arroje lo que esperamos.

pase de junior a >>> senior en 6 minutos.!!! con esta clase.!! 馃ぃ馃ぃ馃ぃ la mejor clase gracias profe gracias platzi por existir .!!!

Uvicorn es un servidor ASGI de alto rendimiento que usaremos para correr nuestra aplicaci贸n, si quer茅is m谩s info acerca de esta librer铆a os dejo en enlace a su p谩gina pinchando aqu铆.

驴Qu茅 es un ASGI?

https://asgi.readthedocs.io/en/latest/

ASGI (Asynchronous Server Gateway Interface) is a spiritual successor to WSGI, intended to provide a standard interface between async-capable Python web servers, frameworks, and applications.

Where WSGI provided a standard for synchronous Python apps, ASGI provides one for both asynchronous and synchronous apps, with a WSGI backwards-compatibility implementation and multiple servers and application frameworks.

Por si les arroja algun problema copien y peguen este codigo en el docker-compose.yml

services:
web-server:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:app/
ports:
- 鈥80:80鈥

A que se debe este problema? services.web-server.build Additional property contex is not allowed

馃槮

si se usan contenedores docker seria innecesario el tema de los entornos virtuales verdad?

Muy buena secci贸n de Docker, para ayudarnos a perder el miedo, Docker no es la gran cosa en dificultad, pero s铆 que es 煤til.

Este curso fue buen铆simo! Todo me funcion贸 y entend铆 un mont贸n de cosas! Si siguen la triada de python no hay fallo!

Esta parte estuvo ch茅vere, para separar los proyectos

Increible. No conocia esta herramienta. Muy potente!

Lo que no he podido hacer es recrearlo con conda.

Dockerfile

FROM python:3.10

WORKDIR /app
COPY requirementes.txt /app/requirementes.txt

RUN pip install --no-cache-dir --upgrade -r /app/requirementes.txt

COPY . /app

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]

docker-compose

services:
  web-server:
    build: 
      context: .
      dockerfile: Dockerfile
    volumes:
      - .:/app
    ports:
      - '80:80'

Compa帽[email protected] los invito a descargar mi proyecto y para el paquete 鈥済ame鈥 ejecutarlo, jugar, divertirse y comentarme que mejora deber铆a tener el c贸digo. Muchas gracias de antemano.

https://github.com/anfesos/platzi_backend