Skip to content

Instantly share code, notes, and snippets.

@juanmaioli
Last active April 27, 2021 15:52
Show Gist options
  • Save juanmaioli/05091f0c522a14b140a01d352a093fdc to your computer and use it in GitHub Desktop.
Save juanmaioli/05091f0c522a14b140a01d352a093fdc to your computer and use it in GitHub Desktop.

Instalar docker en Debian 10

Remover versiones viejas

$ sudo apt-get remove docker docker-engine docker.io containerd runc

Instalar dependencias

$ sudo apt-get update
$ sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

Descargar Certificado Oficial Docker

$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Y Agregar

$ echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Instalar Docker Engine

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

Instalar Docker Compose

$ sudo apt-get install docker-compose

Permisos añadir a tu usuario al grupo docker.

$ sudo gpasswd -a $USER docker
$ sudo usermod -aG docker $USER

salir de la sesion y volver a entrar y verificar los coambios con

$ id -nG

Comandos de Gestion

Listar imagenes descargadas

$ docker images

Listar detalle de imagenes

$ docker image history <id>

Borrar imagenes

$ docker rmi <id>

Buscar imagenes

$ docker search nginx

Descargar imagenes

$ docker pull nginx
$ docker pull nginx:1.14

Subiendo imágenes a Docker Hub

$ docker login
$ docker tag nombrenuevaimagen.local usuario_Docker_Hub/nombrenuevaimagen.local:0.1
$ docker push usuario_Docker_Hub/nombrenuevaimagen.local:0.1

Ver recursos consumidos por los contenedores

$ docker stats

Limpiar Docker de volumens, imagenes y contenedores en desuso

$ docker system prune

Informacion del sistema

$ docker info
$ docker system info
$ docker -v

Contenedores

Ejecutar contenedores

$ docker run image_name

Ejecutar contenedores en background

$ docker run -d image_name

Ejecutar contenedores con terminal

$ docker run -it image_name path_cli

Listar contenedores

$ docker ps

Listar todos los contenedores uq han corrido

$ docker ps -a

Borrar contenedores

$ docker rm <id>
$ docker container prune

Ver informacion del contenedor

$ docker inspect <id>

Copiar o mover archivos desde o a un contenedor que esta corriendo

$ docker cp archivo_a_copiar <id>:/dir_destino
$ docker cp <id>:/dir/archivo_a_copiar /dir_destino/archivo_destino

Nombrar contenedores

$ docker run --name nombre image_name

Renombrar contenedores

$ docker rename <id> new_name

Parar e iniciar contenedores

$ docker stop <id>
$ docker start <id>
$ docker restart <id>
$ docker kill <id>
$ docker pause <id>

Acceso a terminal del contenedor

$ docker exec -it <id> bash

Ver procesos de un contenedor

$ docker top <id>

Pausar contenedores

$ docker pause <id>
$ docker unpause <id>

Exponer un puerto

$ docker run -d -p pc_port:container_port image_name

Volumenes

$ docker run -d -p pc_port1:container_port1 -p pc_port2:container_port12 -v pc_dir:/container_dir image_name

Ejemplos

MariaDB en un comando

$ docker run -d --name MariaDbContainer -e MARIADB_ROOT_PASSWORD=PASWORD -p 3306:3306 -v /pc_dir_dbs:/var/lib mysql mariadb/server:10.3

Nginx en un comando

$ docker run -d --name NginxContainer -p 80:80 -v /pc_dir_web:/usr/share/nginx/html nginx:alpine

Nextcloud con Docker Compose

Archivo docker-compose.yml

version: '2'
 
volumes:
  nextcloud:
  db:
  data:
 
services:
  db:
    image: mariadb
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=Alaska7013
      - MYSQL_PASSWORD=Alaska7013
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
 
  app:
    image: nextcloud
    ports:
      - 6565:80
    links:
      - db
    volumes:
      - nextcloud:/var/www/html
      - data:/var/www/html/data
    restart: always

Ejecutar

$ docker-compose up -d

Portainer.io Docker web interfase

$ docker volume create portainer_data
$ docker run -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment