Dockerfile
Las instrucciones más comunes son:
FROM: Indica la imagen base que se utilizará para construir la nueva imagen.
RUN: Ejecuta comandos en la imagen.
COPY: Copia archivos o directorios desde el host a la imagen.
WORKDIR: Establece el directorio de trabajo por defecto para el resto de instrucciones.
CMD: Define el comando que se ejecutará cuando se inicie un contenedor a partir de la imagen.
ENTRYPOINT: Define el comando que se ejecutará cuando se inicie un contenedor a partir de la imagen, pero no se puede sobreescribir.
Un Dockerfile es un script que contiene instrucciones para construir una imagen de Docker. Crea un archivo llamado Dockerfile en el mismo directorio:
touch Dockerfile
Paso 1: Construir la imagen de Docker
Edita el archivo Dockerfile y añade el siguiente contenido:
# Usar la imagen oficial de Nginx como base FROM nginx:alpine # Copiar el archivo HTML al directorio de Nginx COPY index.html /usr/share/nginx/html/index.html # Exponer el puerto 80 EXPOSE 80 # Comando para iniciar Nginx CMD ["nginx", "-g", "daemon off;"]
¿De dónde sale mi-contenedor-web?
Cuando ejecutas el comando docker build -t mi-contenedor-web ., estás construyendo una imagen y asignándole el nombre mi-contenedor-web. Este nombre lo eliges tú, y no tiene que ser el mismo que el nombre de la carpeta.
Por ejemplo:
Si tu carpeta se llama mi-contenedor-web, no significa que la imagen deba llamarse igual. Podrías haber usado docker build -t mi-imagen-nginx . y luego referenciarla en el docker-compose.yml como image: mi-imagen-nginx.
¿Cómo sabe Docker qué Dockerfile usar?
Cuando ejecutas el comando docker build, Docker busca un archivo llamado Dockerfile en el directorio que especificas. Por defecto, si no indicas un archivo específico, Docker asume que el archivo se llama Dockerfile y está en el directorio actual.
Especificar un Dockerfile diferente
Supongamos que tienes dos archivos:
Dockerfile.dev para desarrollo.
Dockerfile.prod para producción
Puedes construir una imagen usando Dockerfile.dev de la siguiente manera:
docker build -t mi-contenedor-web-dev -f Dockerfile.dev .
Dockerfile.dev: Para desarrollo (por ejemplo, con herramientas de depuración).
Dockerfile.prod: Para producción (optimizado y ligero).
3. Listar contenedores en ejecución
docker ps
docker ps -a
4. Detener un contenedor
docker stop mi-nginx
5. Iniciar un contenedor detenido
docker start mi-nginx
6. Eliminar un contenedor
docker rm mi-nginx
8. Acceder al contenedor
docker exec -it mi-nginx bash
docker exec -it mi-nginx bash
Si la imagen no tiene bash, usa sh:
docker exec -it mi-nginx sh
Explicación sobre cómo ingresar a un contenedor y para qué se hace
Ingresar a un contenedor es una tarea común cuando trabajas con Docker. Te permite ejecutar comandos directamente dentro del contenedor, lo que es útil para:
Depurar problemas: Verificar logs, configuraciones o estados del servicio.
Realizar tareas administrativas: Crear bases de datos, modificar archivos, instalar dependencias, etc.
Explorar el entorno: Verificar cómo está configurado el contenedor.
https://www.youtube.com/watch?v=AwZrEQaaYcA
https://www.youtube.com/watch?v=-XnfBItOBHE&t=42s
https://www.youtube.com/watch?v=xH_fkzXpGus
https://www.youtube.com/watch?v=-563XKoRfZ8&t=4s
Comentarios
Publicar un comentario