No tienes acceso a esta clase

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

Dockerizando scripts de Python

17/20
Recursos

Aportes 18

Preguntas 16

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Dockerfile

FROM python:3.8

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

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

COPY . /app/

CMD bash -c "while true; do sleep 1; done"

Archivo docker-compose-yml

services:
  app-csv:
    build: 
      context: .
      dockerfile: Dockerfile
    

Comento el peque帽o problema que tuve, cuando intentaba correr el comando docker-compose build, obtenia un mensaje de error diciendo que el comando docker-compose no se habia encontrado y que debia instalarlo, pero al revisar mi version de compose

$ docker compose version

todo salia bien, compose estaba instalado.

Pero revisando la ducumentacion de docker sobre como usar compose, utilizaban el comando de la siguiente forma docker compose (sin el - ), cabe destacar que estoy usando PopOS(distro con base en ubuntu) y que NO instale docker desktop , tampoco realize la creacion del docker group posteriormente despues de la instalacion de docker por lo cual todo los comandos del video los tuve que realizar usando sudo

Dicho lo anterior, al no tener docker desktop no tuve que realizar ese paso del video, los camandos los ejecute de la siguiente manera:

$  sudo docker compose build
$  sudo docker compose ps
$  sudo docker compose up -d
$  sudo docker compose exec app-csv bash


Al hacerlo de esta forma todo salio sin ningun problema.

Verifiquen que estas dos opciones est谩n activadas.

Siento que este tema de docker requiere todo un curso para su implementaci贸n y funcionamiento.
Platzi lo tiene
https://platzi.com/cursos/docker/

  • docker-compose build: Este comando se utiliza para construir las im谩genes de los servicios especificados en el archivo 鈥渄ocker-compose.yml鈥. Esto significa que tomar谩 las especificaciones de construcci贸n de cada servicio, como el Dockerfile y los contextos, y crear谩 una imagen nueva y actualizada.

  • docker-compose ps: Este comando se utiliza para ver el estado de los servicios especificados en el archivo 鈥渄ocker-compose.yml鈥. Muestra si los servicios est谩n corriendo o detenidos, y tambi茅n muestra el nombre del contenedor, el puerto y la imagen utilizada.

  • docker-compose down: Este comando se utiliza para detener y eliminar los contenedores, redes y vol煤menes creados por 鈥渄ocker-compose up鈥.

  • docker-compose up -d: Este comando se utiliza para iniciar los servicios especificados en el archivo 鈥渄ocker-compose.yml鈥 en segundo plano. El par谩metro 鈥-d鈥 indica que se ejecutar谩 en segundo plano.

  • docker-compose ps: Es el mismo comando que el segundo, pero se repite para mostrar el estado de los servicios despu茅s de haber sido iniciados.

  • docker-compose exec app-csv bash: Este comando se utiliza para ejecutar una terminal dentro del contenedor especificado, en este caso 鈥渁pp-csv鈥, y conectarse a 茅l mediante una sesi贸n interactiva de bash. Esto permite realizar tareas dentro del contenedor, como verificar los archivos o ejecutar comandos.

Para construir el contenedor

docker-compose build

<aside>
馃挕 Debemos tener inicializado el docker

</aside>

Para lanzar digitamos el comando

docker-compose up -d

Para ver el estado del contenedor

docker-compose ps

Para ejecutar el contenedor

docker-compose exec app-csv bash

Necesito ayuda, al correr el comando "docker_compose build"
la terminal zsh me arroja el siguiente mensaje: permission denied: docker-compose, tuve probleas en la instalacion la verdad no me quedo claro si hice las cosas bien

Consejo: tomen en cuenta los pre requisitos de la instalaci贸n docker y s铆ganlos al pie de la letra si no no va a funcionar.

Mi error y soluci贸n en Windows:

failed to solve: rpc error: code = Unknown desc = failed to solve with frontend dockerfile.v0: failed to read dockerfile: open /var/lib/docker/tmp/buildkit-mount20087919/dockerfile: no such file or directory

Para solucionarlo, ejecute en consola los siguientes comandos

export DOCKER_BUILDKIT=0
export COMPOSE_DOCKER_CLI_BUILD=0

La verdad me siento medio fundido con esta clase, pero eventualmente volver茅 a ella porque por lo que s茅, docker es muy utilizado.

Necesitamos un curso de docker por Nico!

Gran modulo el de docker, excelente explicaci贸n Nicol谩s

Si no le funciona, revisen que la identacion del archivo yml este correcta

El archivo Dockerfile se puede escribir tambi茅n con un solo COPY, as铆:

FROM  python:3.8

WORKDIR /app
COPY . /app

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

CMD bash -c "while true; do sleep 1; done"

Formas simples de solucionar lo que parece complicado.
Para quienes disfrutan WSL2

  • Activar la distribuci贸n de Linux en Docker.
  • Utilizar sudo antes del comando.
sudo docker-compose build
  • 1
  • 2

Si te sale un error
Additional property service is not allowed

En el archivo docker-compose.yml seguro escriviste service en vez de services.

Recuerden revisar que tengan espacio en el disco duro al realizar este proceso, sino genera error.

Adicionalmente, si les falla la creacion del docker por algun motivo, pueden ejecutar:

rm  ~/.docker/config.json 

entonces docker-compose up your-services deber铆a funcionar

A mi me funciono ya que me generaba errores raros por un error en la primera ejecucion del dockers.

Esto desde WSL

tamb铆茅n pueden trabajar con podman, mas liviano