¿Cómo construir una imagen y subirla al registro?
sobes.tech AI
Respuesta de la IA
La construcción de la imagen de Docker se realiza con el comando docker build, que utiliza Dockerfile como instrucción. Dockerfile contiene pasos para crear la imagen, como la imagen base, copiar archivos, instalar dependencias y configurar el entorno.
Ejemplo de Dockerfile:
# Usar una imagen base
FROM ubuntu:latest
# Instalar dependencias
RUN apt-get update && apt-get install -y nginx
# Copiar archivos de configuración
COPY nginx.conf /etc/nginx/nginx.conf
# Abrir puerto
EXPOSE 80
# Iniciar el servidor web
CMD ["nginx", "-g", "daemon off;"]
Comando de construcción:
# docker build -t <nombre_imagen>:<etiqueta> <ruta_al_Dockerfile>
docker build -t my-nginx-image:latest .
-t my-nginx-image:latest asigna el nombre my-nginx-image con la etiqueta latest a la imagen.
. indica el directorio actual donde se encuentra el Dockerfile.
Después de construir con éxito, la imagen estará disponible localmente. Para guardarla en un registro (por ejemplo, Docker Hub o un registro privado), primero debe iniciar sesión en el registro con el comando docker login.
# docker login <dirección_del_registro>
# Para Docker Hub, no se especifica dirección
docker login
Luego, debe volver a etiquetar la imagen para que coincida con la dirección del registro.
# docker tag <nombre_local>:<etiqueta> <dirección_del_registro>/<nombre_del_repositorio>:<etiqueta>
# Para Docker Hub, si el usuario es 'myuser'
docker tag my-nginx-image:latest myuser/my-nginx-image:latest
Y, finalmente, subir la imagen al registro:
# docker push <dirección_del_registro>/<nombre_del_repositorio>:<etiqueta>
# Para Docker Hub
docker push myuser/my-nginx-image:latest
El proceso de construcción y envío a menudo se automatiza con sistemas CI/CD (Jenkins, GitLab CI, GitHub Actions, etc.).