docker image ls
docker image pull <image>
docker container run
docker container ls
docker compose up
docker compose down
-Comando para entrar al contenedor (como si fuera un servidor en linux)
docker exec -it hash_contenedor /bin/sh
- Levantar mariadb y asignarle un volumen para que se guarde la DB y no pase nada en caso de eliminar accidentalmente el contenedor (para esto ya se tendria que tener descargado la imagen de mariadb):
Estos comandos permiten poner en una misma "red" al phpmyadmin y mariadb para que puedan comunicarse
docker container run -dp 3307:3306 -e MARIADB_USER=example-user -e MARIADB_PASSWORD=user-password -e MARIADB_ROOT_PASSWORD=root-secret-password -e MARIADB_DATABASE=world-db --name world-db -v world-db:/var/lib/mysql --network world-app mariadb:jammy
- Instalar phpmyadmin y ponerlo en la misma red que mariadb
docker container run --name phpmyadmin -dp 8081:80 -e PMA_ARBITRARY=1 --network world-app phpmyadmin:5.2.0-apache
docker build --tag cron-ticker:lastest .
- El punto al final indica que nos encontramos en donde esta el dockerfile.
- Si no se indica el tag se tomara como el latest
Al ejecutar el mismo comando en el mismo proyecto Docker solo reconstruye si hubo cambios, lo demas lo guarda en cache.
- Para renombrar una imagen
docker image --tag cron-ticker:1.0.0 cron-ticker:bufalo .
Se conserva la imagen anterior, es como si se copiara la imagen con un nuevo nombre
_Tenemos que tener una cuenta en docker hub y haber creado previamente el repositorio donde se subira la imagen
Si la imagen que vamos a subir no tiene el nombre de imagen de nuestro usuario de cuenta de Docker Hub debemos renombrarlo:
docker image --tag cron-ticker hectormarroquin/cronticker
docker login
docker push hectormarroquin/cron-ticker-js:tagname
-
listar los builders existentes
docker buildx ls
-
Crear un Buildx
docker buildx create --name mybuilder --driver docker-container --bootstrap
-
Usar el buildx
docker buildx use mybuilder
-
Revisar que arquitecturas tengo soportadas para la construcción
docker buildx inspect
-
Agregar la variable al DockerFile.
--platform=$BUILDPLATFORM
-
Generar el build con diferentes arquitecturas
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t hectormarroquin/cron-ticker:latest --push .
Cuando se ejecuta el comando anterior se generan las imagenes y se mandan directo a DockerHub, no se quedan en local, para que se quede la imagen en local tendria que crear una a una con docker build o usar la bandera --load en vez de --push, sin embarogo solo aguanta una arquitectura a la vez.