Crea Contenedores
Crear y usar contenedores
- Comandos a usar
docker create docker start docker exec docker run docker run --name docker run --name xxx --hostname xxx -p xxxx:xx v xx:xxx nombre_imagen
Crea, lista y borra contenedores
- Comandos a usar
docker create docker start docker exec > docker ps -a docker rm nombre_contenedor docker rm (docker ps -a- q)
Si estás en linux o en mac
docker rm $(docker ps -a -q)
1. Crea 5 contenedor a partir de la imagen ubuntu:latest sin especificar nombre
2. Verifica que los has creado
Revisa con cuidado
🔍 Reflexiona
- Observa que te tienen que salir en estado created
Has de intentar enteder qué implica este estado y ver que en este contenedor no puedo ejecutar nada hasta que no esté en estado Up
- Observa igualmente el nombre que el sistema le a asignado al contenedor
3. Verifica que los has creado
Revisa con cuidado
🔍 Reflexiona
- Observa que si solo escribes docker ps no sale nada
- Esto es porque docker ps solo muestar los contenedores que están en estado Up
4. Borra todos los contenedores y verificalo
5. Crea un contenedor llamado web a partir de la imagen ubuntu:latest
parámetros
:woman_detective: revisa los parámetros
- Puedes ver los parámetros de un comando con docker help comando
- seguimos usando el comando create para crear contenedores
6. Arranca el contenedor
7. Observa su estado
parámetros
🔍 estados del contenedor
- Entender los estados del contenedor al principio cuesta
- Un contenedor, cuando lo arrancamos ejectua el servicio o programa que tenga asignado estado Up y luego se detiene estado Exited
- Al revisar este ejercicio verás que el contenedor pasa directamente a estado Exited, y es porque el contenedor al estar creado a partir de la imagen ubuntu:latest sí que tiene asociado un commando (revisa la columna COMMAND)
- Pero como no tiene ningún terminal asociado para interactuar con él, no hace nada y muere
8. Borra todos los contenedores
9. Crea un contenedor llamado web que permita ejecutar comandos en un terminal de forma interactiva a partir de la imagen ubuntu_latest
Usa Help
:woman_detective: revisa los parámetros
- Puedes ver los parámetros de un comando con docker help comando
- En este caso docker help create
- En este caso lo podemos asociar con el comando -t para terminal y -i para ineteractive
10. Arranca el contenedor
Parámetros
:woman_detective: revisa los parámetros
- Para arrancar docker start
11. Ejecuta de forma interactiva (-i) en un terminal (-t) un comado bash
Parámetros
:woman_detective: revisa los parámetros
- Revisa el comando docker exec
- Los parámetros -i y -t
- el orden es primero especificar el contenedor y luego el comando
- bash es un programa que sirve para interpretar comandos, como cuando abrimos un shell en windows
12. Para el contenedor
13. Revisa su estado
14. Borra todos los contenedores
15. Crea un contenedor llamado web que se quede arrancado a partir de la imagen ubuntu_latest
Los estados del contenedor
🕵️♂️
- Si queremos dejar el contenedor en estado Up debemos usar el comando docker run
- No es necesario, pero mejor especifica el comando al final (bash)
- Aunque el orden de los parámetros no es importante, la solución tiene uno concreto, pero eso podría cambiar
16. Instala apache2 y php en el contendor web
instando: apt update
📚
- Una vez dentro lo primero que hay que hacer es apt update
- se pueden instalar todos los paquetes a la vez
- con -y no nos preguntará si queremos instalarlo
- php implica dos paquetes php, el intérprete, y el módulo que viene con apache para que apache sepa que un determinado recurso que tiene extensión php, tiene que llamar al intérprete para que lo ejectue, este es el paquete libapache2-mod-php
17. Arranca el servicio de apache
parando y arrancando
▶️ 🛑 *Prueba a pararlo (stop), a ver su estado (status) y volverlo a arrancar (start|restart)18. Borra el contendor web
Warning
💡 Antes de elimniar el contenedor tiene que estar parado19. Crea igual que antes el contenedor web, pero mapeando el puerto 8000:80
Recuerda
⚠️ Muy importante
Es muy importante que entiendas el concepto
20. Instala apache2 y php en el contendor web
>