Diferencia entre revisiones de «Ejercicios boletín 4»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
 
Línea 25: Línea 25:
 
     httpd.serve_forever()
 
     httpd.serve_forever()
  
Mediante un fichero plantilla Dockerfile, genere una imagen de contenedor denominada 'py-http' basada en la imagen ''ubuntu'' que incluya ''python3'' y que lance ''example.py'' mediante:
+
Cree también un fichero index.html:
 +
 
 +
<html>
 +
hola mundo
 +
</html>
 +
 
 +
Mediante un fichero plantilla Dockerfile, genere una imagen de contenedor denominada 'py-http' basada en la imagen ''ubuntu'' que incluya ''python3'', copie el fichero ''index.html'' y lance ''example.py'' mediante:
  
 
  python3 example.py
 
  python3 example.py

Revisión actual del 18:10 2 jun 2022

  • Cree una máquina virtual, instale docker, compruebe que el servicio está instalado.
  • Obtenga la imagen de contenedor denominada 'ubuntu'
  • Lance un contenedor denominado 'prueba' a partir de la imagen 'ubuntu'. Instale el paquete 'iputils-ping' y compruebe que tiene conectividad con Internet.
  • Compruebe que el contenedor 'prueba' está en ejecución.
  • Termine la ejecución del contenedor 'prueba'
  • Cree una imagen de contenedor derivada denominada 'ubuntu-con-ping'.
  • Láncela con el nombre 'prueba2' y compruebe que puede ejecutar ping.
  • Cree el fichero example.py con el siguiente contenido:
import http.server
import socketserver

PORT = 8080
Handler = http.server.SimpleHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
   print("serving at port", PORT)
   httpd.serve_forever()

Cree también un fichero index.html:

<html>
hola mundo
</html>

Mediante un fichero plantilla Dockerfile, genere una imagen de contenedor denominada 'py-http' basada en la imagen ubuntu que incluya python3, copie el fichero index.html y lance example.py mediante:

python3 example.py
  • Lance una instancia de la imagen 'py-http' con el nombre 'prueba3' realizando un mapeo del puertos de TCP/8000 en el host al TCP/8080 del contenedor.
  • Compruebe con curl o wget que funciona adecuadamente.
  • Purge los contenedores 'prueba', 'prueba2' y 'prueba3' ejecutados anteriormente.