Docker es una herramienta muy importante para el dia a dia de trabajo de un desarollador, en ese gist voy a introducirlos al basico de dockers y mostrarlos algunos comandos utiles.
<any>
= un parametro obligatorio
<?any>
= un parametro opcional
Busca en dockerHUB lo que tu pase en <arg>
DockerHUB es un agregador de repositorios. Tal cual GitHub, AUR Arch, GitLab, etc. En DockerHUB tiene lo que puede instalar en el docker por defecto. Despues que encontras lo que tengas buscado puedes instalar en tu docker (como una imagen).
docker search <arg>
docker search node
Instala (hace una imagen) de lo que tu ponga en <arg>
.
Si no pones el <vesion>
tu vas a instalar el "latest" por defecto
docker pull <arg> <?vesion>
docker pull node
Using default tag: latest
latest: Pulling from library/node
dbba69284b27: Already exists
9baf437a1bad: Pull complete
6ade5c59e324: Pull complete
b19a994f6d4c: Pull complete
8fc2294f89de: Pull complete
0eec338961bd: Pull complete
6b0eb7b29093: Pull complete
9349bc5bacd1: Pull complete
135eddcd4b60: Pull complete
Digest: sha256:0b553d28086d90b9b3be3339beb97401f8c0a83c17230a37ad99ff88fdad3b3f
Status: Downloaded newer image for node:latest
docker.io/library/node:latest
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
node latest 20c0a0be5115 5 days ago 991MB
Crea una instancia(un contenedor) de una imagen que yo tenga, si no tengo la imagen me va hacer el pull de ella y luego crear la instancia
docker run <args>
docker run --name backend_con_node -v "$PWD":/app -w /app -it node bash
Mantene tu contenedor abierto en el terminal
-it
Pone un nombre custom a tu contenedor, la convencion de los nombres es en snake_case
--name <arg>
--name backend_con_node
Crea el contenedor con aceso archivos de alguna carpeta de tu ordenador
-v "$<carpeta_de_tu_ordenador>":/<carpeta_del_contenedor>
-v ${<carpeta_de_tu_ordenador}:/<carpeta_del_contenedor>
*Creo que si tu pones una carpeta directamente (sin comandos como el PWD) tu tiene que meter entre "" en el windows tambien
-v "$PWD":/app
-v ${PWD}:/app
Accede al directorio especificado en <arg>
de tu contenedor
-w <arg>
-w /app
Executar el contenedor por separado. (ejecuta y no te lo muestra por el terminal)
-d
*Creo que el -d
tiene que ser el PRIMERO argumento del run o no va a funcionar
Remove (borra) el contenedor despues de ejecutarlo o al salir de el (en el caso de estar rodando con el -it).
--rm
*Creo que el --rm
tiene que ser el PRIMERO argumento del run para funcionar, pero tiene que testear ahi