Soy nuevo en Docker, así que tengan paciencia conmigo en esto.
Tengo un archivo app.py , que simplemente usa apscheduler para imprimir una oración en la consola. He seguido la estructura de la guía oficial para el archivo python. Cuando ejecuto el archivo en mi consola, funciona como se esperaba. (imprime la instrucción Tick cada 10 segundos).
Ahora, quiero dockerizarlo y subir la imagen a dockerhub. Seguí las documentaciones de Docker y así es como se ve mi DockerFile :
FROM python:3 COPY requirements.txt . COPY app.py . RUN pip install --trusted-host pypi.python.org -r requirements.txt CMD [ "python", "app.py" ] He enumerado los nombres de los módulos en requirements.txt de la siguiente manera:
datetime apscheduler La carpeta es plana. app.py y requirements.txt están en el mismo nivel en el directorio.
| |- app.py |- requirements.txtUtilizo los siguientes comandos para construir la imagen de la ventana acoplable:
docker build . -t app1:ver3La imagen de la ventana acoplable se compila correctamente y aparece cuando lo hago
docker imagesEl problema es que cuando ejecuto la imagen de la ventana acoplable con
docker run app1:ver3la imagen no muestra ninguna salida.
De hecho, la imagen se muestra como se muestra cuando hago docker ps , lo cual se espera, pero el comando de ejecución debería mostrarme declaraciones impresas en la consola cada 10 segundos.
Hay dos cosas aquí
Necesitas usar docker run -it app1:ver3
-i: Interactive mode -t: Enable TTY Creo que solo -t también puede hacer el trabajo. Vea el enlace de abajo para más detalles