TECNOLOBO

No recuerdas tu codigo?
Se te olvido como se hace?

Aqui podras guardar lo que necesiten
Y cuando sea necesesario

Creado por julian gomez
iiiiii

Comandos mas usados en docker



Descripcion

adsas

Nota 1


#banderas_en_docker

//Se usa para mandar una variable de entorno
-e

//se usa para mandar de modo detach es decir que corra sin mantener ocupada la terminal
-d

//Se usa para pasarle el puerto
-p 8080:80

//darle nombre a un contenedor
--name nombreContenedor

//escribir scriot en difernetes lineas
// comando ' nueva linea dando enter

//Ejemplo
docker container run
>> --name postgres-alpha
>> --e POSTGRES_PASSWORD=mypass1
>> --dp 5432:5432
>> postgres 







#contenedores_en_docker#
// como listar contenedores
docker container ls -a (la letra a significa all)

//Correr cmd en un cotenedor
docker exec -it nombreContenedor bash


//como ver los comandos disponibles para contenedores
docker container --help

#Imagenes_en_docker#

//como ver las imagenes 
docker image ls

//Comandos exitentes para imagenes
docker image --help  
docker images --help

#Puertos#
//Este comando le dice a docker que puerto quiero enlazar de mi pc a mi contenedor
-p 8080:80 (El 8080 mi maquina- el 80 el del contenedor)


#LOGS_de_contenedores
//Estos comandos nos mosrtrara los logs de un contenedor y --follow es para continuar viendo los losg en tiempo real
docker container logs <container id>
docker container logs --follow CONTAINER


#Volumenes
//crear volumnes 
docker volume create nombreVolumen
//listar volumenes
docker volumen ls 

//Ver informacion de los volumenes
docker volume inspect world-db

//Asignar volumen a un contenedor
--volume 
//Ejemplo : docker container --volumn mivolumen:volumenContenedor mariadb:lts-jammy

#redes_contenedoeres

//Listar redes 
docker network ls

//crear una red
 docker network create nombreRed
 
 //conectar un contenedor a una red pasando el nombre o los 4 primeros de el id
 docker network connect world-app 0cd2 
 
 //Ver descripcion de la red o mas informacion
 docker network inspect world-app

#Ejecutar_lineas_cmd_en_docke
//Se hace uso del parametro -c seguido entre comillas de la intruccion de linux
//Ejemplo
docker run node -c "yarn install  && yarn start:dev"

#Volumenes
//Ejemplo de usar volumenes -v. 
//Se ilustra que se enlaza la carpeta de nuestro equipo donde ejecutamos este comando dandole instruccion "pwd" con la carpeta raiz del contenedor app
//y de esta forma podemos ejecutar la aplicacion que tenemos en nuestro directorio donde corrimos este comando.
docker container run --name nextapp -w /app -p 80:3000 -v ${PWD}:/app node:18.16-alpine3.16 sh -c "yarn install  && yarn start:dev"

//crear un volumen
docker volume create nombre-volumen

//NOTA: solucionar problema de volumenes no actualiza contenido
1. validar instalado y seleccionado  wsl linux
	wsl -l -v
2. Instalar wsl linux
	wsl -l -v o wsl --install -d Ubuntu
3. seleccionadar wsl linux como defecto
	wsl --set-default Ubuntu
4. En caso de no funcionar seguie la guia 
	https://github.com/irradev/docker-windows-helps/blob/main/contenedores-muy-lentos.md


#console_en_contenedores
docker exec -it NombreContenedor /bin/sh


#creando_contenedores_con_yml

//Este ejemplo ilutustra un docker.compose.yml dentro de un directorio xxxx

version: '24'

services:
  db:
    container_name: postgres_db
    image: postgres:15.1
    volumes:
      # - miespaciodb:/var/lib/postgresql/data ejemplo de referencia usando volumenes
      - ./postgres:/var/lib/postgresql/data #indicamos que se va crear una carpeta en mi carpeta donde estoy situado con el nombre de postgres 
    environment:
      - POSTGRES_PASSWORD=123456
  pgAdmin:
    depends_on:
      - db
    image: dpage/pgadmin4:6.17
    ports:
      - 808:80
	#volumes:
    #  - ./pgadmin:/var/lib/pgadmin
    environment:
      - PGADMIN_DEFAULT_PASSWORD=123456
      - PGADMIN_DEFAULT_EMAIL=superman@google.com

# volumes: #ejemplo para use volumen externo
#    miespaciodb:
#     external: true



//correr el docker .yml
docker compose up
  
//Eliminar contenedores
docker compose down

//Configurar un volumen ya existente
volumes:
  wordl-db:
    external: true --de esta forma se pone en true  siendo wordl-db el volumen existente



						

Nota 2


//contenedor de servidor web
docker run -d -p 80:80 docker/getting-started

//montar php myadmin
docker run --name phpmyadmin -dp 8080:80 -e PMA_ARBITRARY=1 phpmyadmin:5.2.1-apache


						

Nota 3


#Session_de_Documentacion#

//Link de comandos mas usados: 
https://devtalles.com/files/docker-cheat-sheet.pdf


#Redes_documentacion
https://docs.docker.com/engine/tutorials/networkingcontainers/

#Solucionar_problema_volumenes
https://github.com/irradev/docker-windows-helps/blob/main/contenedores-muy-lentos.md